Оценка собственного профессионального уровня — одна из самых сложных задач для разработчика, особенно при переходе из среды франчайзи в инхаус-команды или крупные продуктовые компании. Разберем на конкретном примере, какие навыки считаются ключевыми для 1С-программиста с трехлетним стажем, как интерпретировать имеющийся багаж проектов и на какие технические аспекты стоит обратить внимание в первую очередь.
Проанализируем представленный перечень задач. Работа с внешними системами лояльности (например, интеграция 1С:Розница с Axapta) и использование веб-сервисов свидетельствуют о понимании протоколов обмена данными. Это важный навык для Middle-разработчика. Использование расширений для подмены типовых вызовов говорит о знании современных механизмов адаптации конфигураций без снятия с поддержки.
Рассмотрим подробнее работу с REST API на примере интеграции с системой «Честный знак» (маркировка товаров). Умение самостоятельно реализовать запросы к внешнему API, обрабатывать JSON и XML, а также автоматизировать жизненный цикл кодов маркировки (заказ, получение, печать) является востребованной компетенцией. Однако здесь важно разделять «написание велосипедов» и использование типовых подсистем БСП (Библиотеки стандартных подсистем). В современных реалиях ценится знание подсистемы ИнтеграцияИС, так как требования законодательства меняются динамически, и поддержка самописных решений становится слишком дорогой для бизнеса.
Обратим внимание на работу с торговым и промышленным оборудованием через OLE/COM. Владение интерфейсами MScomlib или драйверами АТОЛ позволяет решать задачи автоматизации на стыке программного обеспечения и «железа». Но важно учитывать тренд на импортозамещение: использование COM-объектов ограничивает работу системы только ОС Windows. Проанализируем альтернативный подход — использование Native API, что позволяет компонентам работать под управлением Linux.
В процессе работы с маркировкой часто возникает необходимость программного подписания запросов к серверу ИС МП. Рассмотрим пример кода, который позволяет подписывать текстовые данные, используя объект CAdESCOM.CPSigner. Этот метод часто применяется в тех случаях, когда типовые механизмы криптографии по каким-то причинам недоступны или требуется специфическая реализация.
Функция ПодписатьCAdES(ТекстДляПодписи, ComОбъектСертификата, Base64)
// Определяем типы для работы с объектами CAdES
CADESCOM_CADES_TYPE = 1; // Тип усовершенствованной подписи (CAdES-X Long Type 1)
bDetached = Ложь; // Присоединенная подпись
EncodingType = 0; // Тип кодировки данных
// Создаем объект для формирования подписи
oSigner = Новый COMОбъект("CAdESCOM.CPSigner");
oSigner.Certificate = ComОбъектСертификата;
// Создаем объект для работы с данными
oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
// Если данные передаются в формате Base64, устанавливаем соответствующий флаг
Если Base64 Тогда
oSignedData.ContentEncoding = 1; // CADESCOM_BASE64_TO_BINARY
КонецЕсли;
oSignedData.Content = СокрЛП(ТекстДляПодписи);
Попытка
// Формируем подпись
sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE, bDetached, EncodingType);
Исключение
// Обработка ошибок (например, отсутствие лицензии КриптоПро или неверный сертификат)
sSignedMessage = Неопределено;
ЗаписьЖурналаРегистрации("Криптография", УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки());
КонецПопытки;
Возврат sSignedMessage; // Возвращаем подпись в формате Base64
КонецФункции
Выясним причину, по которой этот код может быть подвергнут критике со стороны опытных архитекторов. Во-первых, он жестко завязан на COMОбъект, что делает его неработоспособным на серверах под Linux. Во-вторых, 1С имеет встроенный менеджер криптографии МенеджерКриптографии, который является кроссплатформенным и более предпочтительным для современной разработки. Разберем этот момент: использование внешних DLL оправдано только в случае, если встроенные средства платформы не поддерживают специфический алгоритм хеширования или тип подписи.
Знание конфигураций УТ 11, ERP и КА на уровне сертификатов «Специалист» — это отличный фундамент. Однако для высокой оценки (уровня Senior) необходимо понимать не только «куда нажать», но и как эти системы спроектированы изнутри. Библиотека стандартных подсистем (БСП) является «библией» современного 1С-разработчика. Недостаточно просто знать о существовании функций типа ФайловаяСистема.РазделительПути(). Нужно понимать архитектуру подсистем:
Одной из проблем специалистов, работающих во франчайзи, является «поверхностность» задач. Проанализируем ситуацию: за 3 года можно успеть сделать 50 мелких проектов, но ни разу не столкнуться с последствиями своих архитектурных ошибок. Настоящий рост программиста начинается тогда, когда он вынужден сопровождать собственный код в течение нескольких лет. Только так вырабатывается навык написания чистого, расширяемого и оптимизированного кода.
Если в вашем портфолио преобладают разовые задачи по «натягиванию» маркировки или созданию простых обменов через файлы, стоит сфокусироваться на изучении механизмов высокой производительности. Разберем, чего обычно не хватает в таком багаже:
SQL, борьба с блокировками (управляемыми и на уровне СУБД).Git) и инструментов групповой разработки (EDT).Vanessa Automation для сценарного тестирования.На текущем рынке (2024–2025 гг.) в Санкт-Петербурге специалист с подтвержденным опытом внедрения ERP, знанием УТ 11 и навыками сложных интеграций может рассчитывать на следующие позиции:
Важный совет: при поиске работы в крупных компаниях не стоит делать акцент на руководящем опыте во франчайзи, если ваша цель — разработка. Работодатели могут опасаться, что вы быстро заскучаете без управленческих задач (так называемый риск «дауншифтинга»). Позиционируйте свой административный опыт как навык «понимания бизнеса и умения говорить на языке заказчика» — это ваше конкурентное преимущество, которое дополнит технический скилл.
Проанализируем перспективное направление развития: переход на Linux-серверы и PostgreSQL. Если вы никогда не работали в этой среде, это первое, что стоит изучить. Установите виртуальную машину с Ubuntu или Astra Linux, разверните там сервер 1С и попробуйте адаптировать свои старые обработки (особенно те, что используют COM или файловую систему). Это сразу поднимет вашу ценность в глазах работодателей, занимающихся импортозамещением.