Работа современного программиста 1С неразрывно связана с использованием сторонних библиотек, готовых инструментов и баз знаний. Часто возникает ситуация, когда необходимое решение уже существует на портале Инфостарт, но руководство компании отказывается оплачивать подписку или разовую покупку. Рассмотрим, как правильно выстроить диалог с начальством, рассчитаем экономическую выгоду и разберем технические нюансы работы с сертификатами электронной подписи, которые часто становятся камнем преткновения для начинающих разработчиков.
Основная ошибка многих технических специалистов при запросе бюджета — использование аргументов типа "мне так удобнее" или "там много полезного". Для руководителя такие фразы звучат как просьба о покупке очередной игрушки. Разберем ситуацию с точки зрения бизнес-процессов.
Рассчитаем стоимость часа разработки. Предположим, средняя заработная плата программиста составляет 150 000 рублей. С учетом налогов и накладных расходов час его работы обходится компании примерно в 1500–2500 рублей. Если подписка стоит 2430 рублей в месяц, она окупается ровно за один сэкономленный час работы в месяц.
Проанализируем пример с внедрением сложных инструментов, таких как InfostartToolkitPROF или готовых интеграций с API (JIRA, RocketChat). Самостоятельная разработка аналога такого функционала может занять от 40 до 160 рабочих часов. В денежном эквиваленте это сотни тысяч рублей. Покупка готового решения за несколько тысяч — это прямая экономия бюджета компании.
Используем аргумент "упущенной выгоды". Пока программист "изобретает велосипед", он не занимается выполнением приоритетных задач бизнеса. Мы должны показать начальнику, что покупка доступа к базе знаний — это не трата, а инвестиция в ускорение выпуска критически важных обновлений системы.
Одной из частых задач, ради которой ищут готовые обработки, является интеграция с системами маркировки (Честный ЗНАК) и работа с ЭЦП. Проанализируем типичную проблему, с которой сталкиваются разработчики при попытке получить список сертификатов программным путем.
Рассмотрим код, который часто вызывает затруднения из-за контекста выполнения:
&НаСервере
Процедура ПолучитьСертификатыНаСервере()
Менеджер = Новый МенеджерКриптографии("", "", 80);
// Пытаемся получить хранилище персональных сертификатов на сервере
Хранилище = Менеджер.ПолучитьХранилищеСертификатов(
ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты,
РасположениеХранилищаСертификатовКриптографии.ДанныеКомпьютера
);
Сертификаты = Хранилище.ПолучитьВсе();
// На сервере список может быть пустым!
КонецПроцедуры
Выясним причину, почему в данной конструкции нужные сертификаты часто отсутствуют. Основная проблема заключается в том, что персональные сертификаты (подписи сотрудников) устанавливаются в контексте конкретного пользователя Windows. Серверная часть 1С обычно запущена под технической учетной записью (например, USR1CV8), у которой нет доступа к личному хранилищу сертификатов программиста или бухгалтера.
Разберем по шагам правильный алгоритм работы с сертификатами:
МенеджерКриптографии, задействуем функции модуля ЭлектроннаяПодписьСлужебный.Посмотрим на пример кода, который позволяет получить сертификаты с учетом клиентского контекста:
&НаКлиенте
Процедура СписокСертификатовПриНажатии(Команда)
// Работаем на клиенте для доступа к локальному криптопровайдеру
Менеджер = Новый МенеджерКриптографии("Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider", "", 80);
Попытка
Хранилище = Менеджер.ПолучитьХранилищеСертификатов(
ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты,
РасположениеХранилищаСертификатовКриптографии.ДанныеПользователя
);
Список = Хранилище.ПолучитьВсе();
Для Каждого Сертификат Из Список Цикл
Сообщить("Найдено: " + Сертификат.Субъект);
КонецЦикла;
Исключение
Сообщить("Ошибка доступа к криптографии: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Важный момент: обратите внимание на параметр РасположениеХранилищаСертификатовКриптографии.ДанныеПользователя. Это ключевое отличие от поиска в ДанныеКомпьютера, которое позволяет увидеть именно те ключи, которые доступны текущему сотруднику.
Если прямой диалог о покупке подписки не принес результатов, проанализируем альтернативные варианты, которые предоставляет платформа:
1. Корпоративный договор 1С:ИТС. Многие компании уже оплачивают ИТС уровня ПРОФ. Выясним, через какого партнера заключен договор. Часто Инфостарт проводит акции, в рамках которых при покупке ИТС подписка на базу знаний предоставляется в подарок. Это отличный способ получить легальный доступ, не запрашивая дополнительных средств.
2. Покупка одного файла. Недавно на портале появилась возможность приобретать конкретную обработку или отчет напрямую за рубли, без оформления долгосрочного абонемента. Для бухгалтерии разовый платеж в 500-1500 рублей за конкретный "Инструмент для исправления ошибок в учете" согласовать гораздо проще, чем ежемесячную подписку для IT-отдела.
3. Активность в сообществе. Напомним, что внутреннюю валюту (стартмани) можно заработать, публикуя собственные полезные наработки или отвечая на вопросы форума. Для начинающего программиста это отличный стимул глубже разобраться в системе и создать свой уникальный контент.
Подводя итог, отметим, что ключ к успеху лежит в плоскости профессиональной аргументации. Продемонстрируйте руководству расчет экономии времени, покажите риски "самописных" решений в критических узлах (таких как ЭЦП и маркировка) и предложите начать с малого — разовой покупки или использования бонусов по договору ИТС. Это позволит вам работать эффективнее, а компании — экономить ресурсы.