Почему вам не обойтись без профессионального программиста при внедрении 1С:ERP 2.1

В последнее время все чаще стали слышны заявления о том, что с выпуском системы 1С:ERP 2.0 отпадает необходимость в программистах и появляется потребность всего лишь в консультантах.
Олег Демиденко, сильный специалист по 1С:ERP, мой хороший знакомый, даже делал доклад на эту тему на партнерском форуме Фирмы 1С.
Кажется, действительно, зачем теперь нужен программист, да еще и профессиональный, если есть такая гибкая система с широким функционалом, которая настраивается с помощью многочисленных настроек?


В последнее время я участвую по множестве проектов внедрения 1С:ERP 2.0, 2.1 и 1С:Управление торговлей 11, и на собственном опыте убедился в следующем.
Для того, чтобы все прошло хорошо, нужно конечно же обязательно быть консультантом (иначе просто не поймешь, что нужно настраивать и где, не сможешь объяснить людям, как им работать с системой).
Но консультанту при этом программистом быть не просто обязательно, а обязательно быть первоклассным программистом под платформу 1С:Предприятие 8.3.6.
И вот почему:

  • Система спроектирована по модульному принципу, с применением клиент-серверного подхода, с использованием многозадачности (из кода запускаемых фоновых заданий), безмодальности (отложенные обработчики UI всех видов), а так же событий (подписки на события);
  • Если что-то в системе работает не так, система никак не сообщает пользователю об этом;
  • Когда консультант попробует все методики, которые давали на обучающих курсах и перепробует все возможные варианты, тогда у него возникает потребность посмотреть код или отладить его;
  • И тут его поджидает неожиданный сюрприз - чтобы что-то понять в коде или отладить его, требуется наивысшая квалификация программиста.
Например, из последнего. Взаимозачет может не делать проводок по РСБУ, и скромно умалчивать и об этом, и о причине этого. И что бы ты ни делал, пока не разберешься в коде, не проведешь отладку "матрешек" и подписок на события, в течение нескольких часов, никогда не узнаешь, что на это влияет информация двух регистров с непонятными названиями и странным содержимым.

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

Учитывая все это, мне совсем непонятна позиция Фирмы 1С, которая на данный момент проводит только сертификацию Специалист-консультант, и не проводит сертификацию Специалист, как это было раньше.

На мой взгляд, консультантам, которые не являются топовыми разработчиками, при внедрении 1С:ERP делать просто нечего, разве что писать различные документы и проводить начальное обучение.
Все внедрение 1С:ERP 2.0 или 1C:ERP 2.1 должны делать только профессионалы высокой квалификации, в первую очередь, в области программирования под управляемое приложение 8.3.6.

Роман Цованян

Популярные сообщения из этого блога

Показатели эффективности персонала в сфере услуг

Д. Кейрси. ТЕМПЕРАМЕНТ И ХАРАКТЕР

P2M: ЦЕННОСТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД К УПРАВЛЕНИЮ ИННОВАЦИОННЫМИ ПРОГРАММАМИ И ПРОЕКТАМИ