К статье
Практический материал

Документы и Печать · 11 мин

Как сделать сертификат в 1С: пошаговая инструкция

Как сделать сертификат в 1С: создание печатного макета в конфигураторе, подключение внешней печатной формы и настройка сертификата электронной подписи.

Под задачей «сделать сертификат в 1С» обычно скрываются два разных сценария. Первый — создать печатный бланк сертификата (подарочного, на обучение, на соответствие продукции), который заполняется данными из базы и выводится на печать. Второй — настроить сертификат электронной подписи (ЭЦП), чтобы подписывать документы прямо из программы. Оба сценария решаются штатными средствами, но по-разному и с разными уровнями доступа.

Для печатного бланка есть три пути: макет внутри конфигурации (требует конфигуратор и снятия с поддержки или расширения), внешняя печатная форма (без изменения конфигурации) и простой вариант — выгрузка данных в шаблон Word через механизм печати. Для ЭЦП нужен действующий сертификат ключа проверки подписи, установленный криптопровайдер и настройка в разделе обмена электронными документами.

Ниже разобраны оба сценария с конкретными действиями, проверками результата и типичными ошибками. Примеры ориентированы на типовые конфигурации (Управление торговлей, Бухгалтерия предприятия, УНФ), но логика одинакова для большинства решений на платформе 1С:Предприятие 8.3.

Определите, какой сертификат вам нужен

Прежде чем что-то настраивать, ответьте на вопрос: что должно получиться на выходе? Если нужен красивый документ на бумаге или в PDF — например, подарочный сертификат с номером, суммой и печатью организации — это задача печати. Решается макетом и не требует никаких криптографических средств.

Если нужно подписывать счета-фактуры, акты и УПД для юридически значимого обмена с контрагентами или отчётности — это сертификат электронной подписи. Здесь уже понадобятся сам сертификат, выданный удостоверяющим центром, криптопровайдер (КриптоПро CSP, ViPNet CSP) и права администратора в 1С.

Третий, более редкий вариант — учёт сертификатов как объектов: номенклатурные сертификаты соответствия, подарочные сертификаты как товар или обязательство перед клиентом. Это уже вопросы учёта, а не печати, и решаются они документами и регистрами конфигурации.

Создаём печатный сертификат через макет в конфигураторе

Этот способ подходит, если конфигурация дорабатывается и есть доступ к конфигуратору. Откройте конфигуратор, найдите объект, из которого будет печататься сертификат (например, документ «Сертификат» или справочник), и добавьте новый макет с типом «Табличный документ».

В редакторе макета нарисуйте бланк: заголовок, поля для ФИО, номера, суммы, даты, подписи. Области, куда будут подставляться данные, оформите как параметры: выделите ячейку, в свойствах установите «Заполнение — Параметр» и задайте имя, например ФИОКлиента. Текст в фигурных скобках { } тоже будет воспринят как параметр.

Затем в модуле менеджера объекта добавьте процедуру печати: получение макета, заполнение параметров данными из объекта и вывод области в результирующий табличный документ. После обновления конфигурации базы данных кнопка печати появится в форме объекта.

Порядок действий в конфигураторе
  1. 1
    Откройте конфигуратор и найдите нужный объект метаданных
  2. 2
    Добавьте макет типа «Табличный документ» и нарисуйте бланк сертификата
  3. 3
    Отметьте ячейки с подставляемыми данными как параметры
  4. 4
    Добавьте процедуру печати в модуль менеджера объекта
  5. 5
    Обновите конфигурацию базы данных (F7) и проверьте печать из пользовательского режима

Учтите ограничение: изменение типовой конфигурации частично снимает её с поддержки, что усложняет автоматические обновления. Если конфигурация типовая и обновляется регулярно, безопаснее использовать расширение конфигурации или внешнюю печатную форму.

Внешняя печатная форма — без изменения конфигурации

Внешняя печатная форма — это файл с расширением .epf, который подключается к типовой конфигурации через механизм «Дополнительные отчёты и обработки». Конфигурация остаётся на полной поддержке, обновления не ломаются, а макет сертификата можно править сколько угодно.

Создать такую форму можно в конфигураторе: «Файл → Новый → Внешняя обработка». В модуль объекта добавляется стандартная функция СведенияОВнешнейОбработке(), где указывается вид «ПечатнаяФорма», объекты назначения и команды печати, а также процедура Печать(), формирующая табличный документ по макету. Шаблоны таких функций описаны в документации библиотеки стандартных подсистем (БСП), на которой построены типовые конфигурации.

Подключение в пользовательском режиме: «Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки → Добавить из файла». После добавления форма появляется в меню «Печать» указанных документов. Для работы механизма у пользователя должно быть право «Использование дополнительных отчётов и обработок».

Простой вариант: шаблон Word вместо макета

Если программировать не хочется, а бланк нужен быстро, используйте печать по шаблону Word. В типовых конфигурациях есть механизм «Печатные формы по шаблонам Microsoft Office»: создаётся документ Word с закладками-переменными, который заполняется данными из 1С.

Порядок такой: в Word рисуете сертификат, в местах подстановки вставляете поля в формате [v8 НомерДокумента] и аналогичные (точный синтаксис зависит от конфигурации). Затем файл подключается как шаблон к нужному документу. Способ ограничен: сложная логика, циклы по табличным частям и нестандартные источники данных в шаблоне Word реализуются трудно или не реализуются вовсе.

Для разовой задачи — например, распечатать 50 одинаковых сертификатов с именами из списка — часто проще вообще выгрузить данные в Excel и сделать слияние в Word штатными средствами Microsoft Office, без всякой настройки 1С.

Сравнение способов печати

Макет в конфигураторе

Полный контроль и встроенная кнопка печати, но снимает конфигурацию с поддержки и требует навыков разработчика

Внешняя печатная форма (.epf)

Не трогает типовую конфигурацию, переживает обновления; нужно уметь писать код и оформлять функции БСП

Шаблон Word

Быстро и без кода, подходит для простых бланков; плохо справляется со сложной логикой и табличными частями

Слияние Word + выгрузка из 1С

Самый быстрый разовый вариант, но без автоматизации: каждый раз действия повторяются вручную

Настройка сертификата электронной подписи

Для работы с ЭЦП сначала установите криптопровайдер (например, КриптоПро CSP) и убедитесь, что сертификат установлен в хранилище «Личные» текущего пользователя Windows вместе с закрытым ключом. Проверить можно через оснастку certmgr.msc: сертификат должен отображаться с пометкой «Есть закрытый ключ».

В 1С откройте «Администрирование → Обмен электронными документами → Настройки электронной подписи и шифрования» (в разных конфигурациях название раздела может немного отличаться). Добавьте программу электронной подписи: укажите тип криптопровайдера, его имя и путь. Затем перейдите в список сертификатов и нажмите «Добавить» — программа предложит выбрать из установленных в системе.

После добавления откройте карточку сертификата и выполните встроенную проверку. 1С проверит цепочку доверия, срок действия и возможность подписания тестовых данных. Если проверка прошла, сертификат можно указывать в настройках обмена с контрагентами и в учётной записи оператора ЭДО.

Контрольные точки

Как проверить результат

Сертификат в хранилище Windows
Норма

Отображается в «Личные» с пометкой о закрытом ключе

Тревожный признак

Сертификат есть, но закрытого ключа нет — подписание невозможно

Проверка в карточке сертификата в 1С
Норма

Все этапы проверки отмечены как успешные

Тревожный признак

Ошибка цепочки доверия или криптопровайдер не найден

Тестовое подписание документа
Норма

Документ подписан, подпись отображается как действительная

Тревожный признак

Ошибка при подписании или подпись не проходит проверку у контрагента

Частые ошибки и как их избежать

Самая частая проблема с печатными формами — параметры макета не заполняются, потому что имена параметров в макете и в коде не совпадают с точностью до символа. 1С в этом случае не всегда выдаёт понятную ошибку: ячейка просто остаётся пустой. Проверяйте имена копированием, а не набором вручную.

Вторая типичная ситуация — внешняя печатная форма не появляется в меню «Печать». Причины: не включён механизм дополнительных отчётов и обработок, в функции СведенияОВнешнейОбработке() неверно указаны объекты назначения, или у пользователя нет права на использование обработок.

С ЭЦП лидируют три проблемы: сертификат импортирован без закрытого ключа, не установлен или не лицензирован криптопровайдер, и истёк срок действия сертификата. Ещё одна ловушка — сертификат установлен в хранилище компьютера, а не пользователя, и 1С его не видит.

Типичные ошибки
01
Имена параметров в макете и коде не совпадают — поля на печати остаются пустыми
02
Изменение типовой конфигурации вместо внешней формы — слетают автоматические обновления
03
Импорт сертификата без закрытого ключа — подписание завершается ошибкой
04
Сертификат в хранилище компьютера вместо хранилища пользователя — 1С его не видит
05
Отсутствие лицензии на криптопровайдер — подпись формируется, но это нарушение условий лицензирования

Границы самостоятельной работы и безопасность

Самостоятельно безопасно делать: внешние печатные формы на копии базы, шаблоны Word, подключение уже выданного сертификата ЭЦП по инструкции удостоверяющего центра. Всё это обратимо и не затрагивает учётные данные.

К разработчику или администратору стоит привлекать, когда: требуется изменение типовой конфигурации, печатная форма должна собирать данные из нескольких объектов, нужна автоматическая нумерация сертификатов с защитой от дублей, либо настраивается обмен ЭДО с контрагентами и отчётность в контролирующие органы. Ошибка в этих местах может привести к юридически значимым последствиям.

Перед любыми доработками конфигурации сделайте резервную копию базы. Для файловой базы достаточно скопировать каталог или выгрузку .dt, для клиент-серверной — используйте штатные средства СУБД. Проверку новой печатной формы всегда делайте сначала на копии.

Итог

Что важно запомнить

Печатный сертификат делайте внешней печатной формой — это не трогает типовую конфигурацию и переживает обновления. Сертификат ЭЦП настраивается только после установки криптопровайдера и импорта сертификата с закрытым ключом в хранилище пользователя. Любые доработки проверяйте на копии базы.

Частые вопросы

Можно ли сделать сертификат в 1С без конфигуратора?

Да. Используйте внешнюю печатную форму (файл .epf), которая подключается через «Администрирование → Дополнительные отчёты и обработки», либо шаблон Word. Для разовой задачи подойдёт выгрузка данных в Excel со слиянием в Word — вообще без настройки 1С.

Почему внешняя печатная форма не появляется в меню «Печать»?

Проверьте три вещи: включён ли механизм дополнительных отчётов и обработок в настройках администрирования, правильно ли указаны объекты назначения в функции СведенияОВнешнейОбработке() и есть ли у пользователя право на использование дополнительных обработок.

1С не видит сертификат электронной подписи. Что делать?

Убедитесь, что сертификат установлен в хранилище «Личные» текущего пользователя (а не компьютера) и содержит закрытый ключ. Проверьте, что криптопровайдер установлен и добавлен в настройках электронной подписи в 1С. После этого перезапустите программу.

Как сделать автоматическую нумерацию подарочных сертификатов?

Надёжнее всего завести отдельный документ или элемент справочника на каждый сертификат — тогда нумерацию обеспечит сама платформа с защитой от дублей. Печатная форма будет брать номер из объекта. Хранить номера в Excel или на бумаге рискованно: при параллельной работе пользователей дубли неизбежны.

Сломаются ли обновления, если добавить макет в типовую конфигурацию?

Конфигурация не сломается, но изменённый объект будет частично снят с поддержки, и при обновлении этот объект потребует ручного сравнения и объединения. Чтобы избежать этого, используйте расширение конфигурации или внешнюю печатную форму.

Нужен ли криптопровайдер, если сертификат уже есть?

Да. Сам сертификат — это только открытая часть и данные о владельце. Криптографические операции (подписание, проверка) выполняет криптопровайдер, и без него 1С не сможет сформировать подпись, даже если сертификат корректно установлен.