Всех вас приветствую, мои дорогие читатели. В данной статье я расскажу о сущности такой программы как 1С: Предприятие. Данную статью (впрочем, как и прошлую) попытался написать максимально объективно, дабы разобраться в сущности существования данной программы, а также понять - стоит ли эта программа того, чтобы её изучить. Стоит отметить, что в данной статье будет говориться о языке программирования 1С предприятия, а не об играх, хотя о них двух словах тоже расскажу. Для начала, мы разделим статью на несколько небольших глав:
- История 1С: Предприятие;
- Сущность внутреннего языка;
- Достоинства и недостатки;
- Заключение
С главами мы разобрались, а теперь начинаем.
История 1С: Предприятие
Как и любая другая обзорная статья, на просторе интернета, начнётся именно с истории, дабы понять почему к продукции 1С относятся так, как к нему относятся.
История компании 1С началась в лихие девяностые, в, тогда ещё новообразованной, России. Создателями сего творения выступили братья Нуралиевы, которых в одинаковой степени боготворят и ненавидят жёлтые разработчики*. Поначалу компания занималась исключительно программным софтом (1С: Предприятие, 1С: Бухгалтерия и т.п.), но затем расширилась до одной из крупнейших айти-компаний. Конкретно 1С: Бухгалтерия появилось примерно в 1992 году, тогда ещё на DOS. Причём на DOS было выпущено сразу несколько версий: 3.0, 4.0, 5.0, 2.0 КОРП (По функционалу похожа на 5.0), но все они были мало похожи на 1С: Предприятие. 1С: Предприятие в том виде, в котором мы его себе представляем проявился лишь в 1999 году, с появлением легендарной версии 7.7 (а та самая 1С: Бухгалтерия появилась ещё в 1995 году).
С учётом того, что айти индустрия в России находилась ещё на начальной стадии развития, то и ожидать тогда что 1С будет нереально продуманной и без недостатков никто и не собирался. Но на тот момент 1С: Предприятие было вполне себе отличной, даже несмотря на недостатки. Нуралиев и компания хоть и не придумала что-то новое (по сути перелицованный SAP, но с местным колоритом), но облегчила жизнь многим бухгалтерам и администраторам. Тогда же и появилось многое множество продуктов компании под разные задачи: 1С: Документооборот, 1С: Школа, 1С: Платёжные документы, 1С: Предприниматель и ещё очень много других продуктов.
К слову, семёркой до сих пор пользуются немало компаний, причём разных уровней: от ИП до крупных компаний (самые крупные предпочитают уже SAP).
В 2002 году появилась более новая версия 8.0 (или 8.х), которая уже предоставила более обновлённый язык программирования, появились sql запросы (переведённые на русский само собой).
Самые распространённые версии 8.2 и 8.3 появились в 2009 и 2013 годах соответственно. Главная разница между 8.3 и 8.2 это то, что 8.3 можно использовать в мобильном приложении (как пользователь, а не как конфигуратор, естественно).
Внутренний язык программирования
Здесь мы поподробнее затронем сам язык программирования. Википедия подсказывает, что внутренний язык 1С имеет схожие черты с Pascal, Basic, JavaScript, что, в общем-то верно, так как имеют определённую схожесть. Выполнение функции и процедуры может быть как на сервере, так и на клиенте.
Пример программы "Привет мир"
//Программируем
Процедура ПриветМирЛол()
Сообщить(«Привет мир»);
КонецПроцедуры
JavaScript действительно имеет похожие моменты с языком 1С, но по мне тут скорее Basic. Языком запросов в 1С естественно является переведённый на русский язык SQL.
Типы данных примерно как и во всех языках: Строка, Число (есть и число с точностью), Булево; но есть и иные типы, например Дата, Ссылка (есть и в других языках), Определяемый вид и многие другие. Но у языка есть проблема - 1С язык действует исключительно в 1С. А значит, как подсказывает гугл, 1С язык используется исключительно для процессов программ учёта.
Например, язык программирования 1С существует для оформления движений документов
Пример:
Процедура ОбработкаПроведения(Отказ, Режим)
// регистр ЦеныНоменклатуры
Движения.ЦеныНоменклатуры.Записывать = Истина;
Для Каждого ТекСтрокаТовары Из Товары Цикл
Движение = Движения.ЦеныНоменклатуры.Добавить();
Движение.Период = Дата;
Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
Движение.Характеристика = Ссылка;
Движение.Цена = ТекСтрокаТовары.Цена;
Движение.ВидЦен = Справочники.ВидыЦен.Закупочная;
КонецЦикла;
КонецПроцедуры
Данный листинг означает, что Движение документа идёт по регистру цены номенклатуры, ниже в цикле прописывается движение по реквизитам исходя из данных регистра и документа.
Вкратце рассказал о самом языке
А теперь
Достоинства и недостатки
Про достоинства можно говорить много. Например главный плюс это чуть ли не отсутствие конкуренции и доступные цены (по сравнению с SAP) для продукции данного типа. Данная программа сильно облегчает бухгалтерам работу с отчётами, учётами и проведением документов. А также стоит сказать, что сам язык относительно простой и имеет весьма низкий порог вхождения. Для программистов на 1С тоже есть достоинство - высокая зарплата. Да, вас будут радовать весьма высокой зарплатой, но у неё всё равно есть определённый потолок в размере около двухсот тысяч, грубо говоря джуниоры (у внедренцев на 1С нет как таковых уровней джуниор, мидл, сеньор) получают действительно неплохо, а вот т.н. сеньоры уже получают ниже, чем на многих языках программирования. Да на зарплату в двести тысяч прожить можно вполне отлично, кормя и даже позволяя многое для семьи с двумя детьми. Но если вы хотите получать больше, то я бы вам не стал рекомендовать данный язык программирования.
А теперь серьёзно о недостатках. Кратко мы обговорили о зарплатах программистов, сейчас же будет о самом софте.
Сама программа очень плохо реагирует на обновления, к примеру вы сделали конфигурацию на версии 8.3.10, то на версии 8.3.20 у вас будут проблемы с запуском. Производительность 1С тоже имеет проблемы - обширная конфигурация запускается так же долго, как последние части футбольного симулятора FIFA. В купе с уже имеющимися проблемами выходит и плохая репутация - есть немало людей которые слушают исключительно плохие отзывы, из чего выходит что люди могут считать 1С плохим не потому что они попользовались и им он не понравился, а потому что просто много почитали плохих отзывов. Кроме того, 1С действительно слишком узкоспециализированный (даже PHP не настолько узкоспециализированный) и поэтому данный язык без отрыва от софта 1С не работает.
Заключение
1С имеет действительно реальные достоинства, которые сложно отрицать, но 1С имеет также и серьёзные недостатки. Самым главным образом на 1С работает годами не самая лучшая репутация, которую подпитывали сами пользователи. Да, 1С всё так же востребован и на рынке труда, специалисты по этому софту действительно сейчас могут найти себе работу, но стоит ли оно того? Тут решает каждый для себя. Я лично некоторое время работал с 1С и могу сказать что данный софт действительно на любителя, не каждый, даже опытный, программист захочет на нём программировать. Но есть и те, кому данный язык точно придётся по душе.
Если же говорить о том почему данный язык имеет немалое количество хейта, то тут три причины:
- Плохая оптимизация;
- Плохая репутация;
- Не самая высокая производительность;
- Часто необъяснимые проблемы с кодом (к примеру, исправить скопированный из другой базы данных запрос почти никак не получится нормально исправить, так как ошибка будет вас всегда преследовать в запросе, придётся создавать новый).
В купе с этим, странное отношение создателей к своему детищу - сайт компании похож на сайты времён форумов из конца девяностых. А также так и не получившая свой выход версия 1С 8.4, которую пока не могут выпустить по каким-то причинам не известным лично мне (в комментариях напишите, если вы знаете, почему 8.4 не могут выпустить).
Всем спасибо за внимание. Если хотите внести поправки в данную статью и исправить ошибки, то напишите в комментариях данные замечания. Все комментарии читаю, так что ещё увидимся.