В последнее время все чаще стали слышны заявления о том, что с выпуском системы 1С:ERP 2.0 отпадает необходимость в программистах и появляется потребность всего лишь в консультантах.
Олег Демиденко, сильный специалист по 1С:ERP, мой хороший знакомый, даже делал доклад на эту тему на партнерском форуме Фирмы 1С.
Кажется, действительно, зачем теперь нужен программист, да еще и профессиональный, если есть такая гибкая система с широким функционалом, которая настраивается с помощью многочисленных настроек?
В последнее время я участвую по множестве проектов внедрения 1С:ERP 2.0, 2.1 и 1С:Управление торговлей 11, и на собственном опыте убедился в следующем.
Для того, чтобы все прошло хорошо, нужно конечно же обязательно быть консультантом (иначе просто не поймешь, что нужно настраивать и где, не сможешь объяснить людям, как им работать с системой).
Но консультанту при этом программистом быть не просто обязательно, а обязательно быть первоклассным программистом под платформу 1С:Предприятие 8.3.6.
И вот почему:
Олег Демиденко, сильный специалист по 1С:ERP, мой хороший знакомый, даже делал доклад на эту тему на партнерском форуме Фирмы 1С.
Кажется, действительно, зачем теперь нужен программист, да еще и профессиональный, если есть такая гибкая система с широким функционалом, которая настраивается с помощью многочисленных настроек?
В последнее время я участвую по множестве проектов внедрения 1С:ERP 2.0, 2.1 и 1С:Управление торговлей 11, и на собственном опыте убедился в следующем.
Для того, чтобы все прошло хорошо, нужно конечно же обязательно быть консультантом (иначе просто не поймешь, что нужно настраивать и где, не сможешь объяснить людям, как им работать с системой).
Но консультанту при этом программистом быть не просто обязательно, а обязательно быть первоклассным программистом под платформу 1С:Предприятие 8.3.6.
И вот почему:
- Система спроектирована по модульному принципу, с применением клиент-серверного подхода, с использованием многозадачности (из кода запускаемых фоновых заданий), безмодальности (отложенные обработчики UI всех видов), а так же событий (подписки на события);
- Если что-то в системе работает не так, система никак не сообщает пользователю об этом;
- Когда консультант попробует все методики, которые давали на обучающих курсах и перепробует все возможные варианты, тогда у него возникает потребность посмотреть код или отладить его;
- И тут его поджидает неожиданный сюрприз - чтобы что-то понять в коде или отладить его, требуется наивысшая квалификация программиста.
Например, из последнего. Взаимозачет может не делать проводок по РСБУ, и скромно умалчивать и об этом, и о причине этого. И что бы ты ни делал, пока не разберешься в коде, не проведешь отладку "матрешек" и подписок на события, в течение нескольких часов, никогда не узнаешь, что на это влияет информация двух регистров с непонятными названиями и странным содержимым.
Приведу несколько особенностей кода системы, которые требуют высокой квалификации программиста при внедрении 1С:ERP 2.0/2.1:
- Бесконечные "матрешки" вызовов процедур и функций с передачей в параметрах объектов типа Структура. Их не просто много - нет практически ни одного участка кода, который бы не уходил в глубину вызова процедур/функций до 3-го уровня. Никогда не знаешь, что содержится в структуре, переданной из 2-го уровня в 14-й, или из вызова процедуры на 100 строк выше в процедуру, вызванную ниже, просто читая код. Нужно обязательно пользоваться отладчиком.
- Множество функций и процедур вызываются нелинейно, т.е. либо через запуск фонового задания, либо через подписку на событие, либо через вычисление названия модуля или объекта (!), экспортирующего нужные функции и процедуры. Таких вызовов очень много, их миллионы, и даже поставив брейкпоинт на процедуре "ПередЗаписью" какого либо объекта вы их все не найдете в стэке вызовов. Это приводит к тому, что чтобы найти место, куда бы с высокой достоверностью поставить точку останова отладчика, нужно потратить не менее часа по самой простой задаче, например, проведения документа по регистрам.
- Проведение документов по регистрам выполнено через формирование многочисленных временных таблиц на SQL сервере в многочисленных функциях и процедурах, включая общие и переопределяемые, через запросы, которые собираются программно, зачастую, заменой текстовых строк. Такой процесс проведения не просто осложняет отладку, но в некоторых случаях просто не позволяет ее выполнить, и приходится копировать участки запроса, пойманного в отладчике, копировать на исполнение в консоль запросов, что занимает огромное количество времени.
Все вышеперечисленное просто сводит с ума бывалых разработчиков, а о неопытных консультантах или средних специалистах вообще говорить не приходится - это вообще не для них, они спотыкаются на первой же проблеме и не могут ее решить ни за какое время.
Учитывая все это, мне совсем непонятна позиция Фирмы 1С, которая на данный момент проводит только сертификацию Специалист-консультант, и не проводит сертификацию Специалист, как это было раньше.
На мой взгляд, консультантам, которые не являются топовыми разработчиками, при внедрении 1С:ERP делать просто нечего, разве что писать различные документы и проводить начальное обучение.
Все внедрение 1С:ERP 2.0 или 1C:ERP 2.1 должны делать только профессионалы высокой квалификации, в первую очередь, в области программирования под управляемое приложение 8.3.6.
Роман Цованян
Роман Цованян