Как исправить ошибку печати двухмерного штрихкода PDF417 в 1С:УПП 1.3 на 64-разрядной платформе

Программист 1С v8.3 (Обычные формы) Налоговый учет
← На главную

При подготовке регламентированной отчетности, например, Расчета по страховым взносам (РСВ) в конфигурации 1С:Управление производственным предприятием (УПП) редакции 1.3, пользователи часто сталкиваются с неприятной ошибкой. При попытке вывести отчет на печать система выдает предупреждение: «Печать бланка формы с двухмерным штрихкодом PDF417 поддерживается только в 32-разрядной версии платформы». Работа на этом останавливается, а прямая отправка на принтер становится невозможной.

В этой статье мы подробно разберем, почему возникает данная техническая сложность, проанализируем архитектуру взаимодействия платформы 1С с внешними компонентами ФНС и рассмотрим несколько практических вариантов обхода этой ошибки.

Выясняем причину ошибки: почему x64 не «дружит» с PDF417?

Для начала давайте разберемся с технической подоплекой проблемы. Дело в том, что сам механизм формирования двухмерного штрихкода на бланках налоговой и регламентированной отчетности разрабатывается не фирмой 1С. За генерацию картинки штрихкода отвечает внешняя библиотека Печать НД с PDF417.msi, созданная АО «ГНИВЦ» ФНС России.

Исторически эта компонента была скомпилирована как исключительно 32-разрядная (x86) динамическая библиотека (DLL). Из-за фундаментальных ограничений операционных систем Windows 64-разрядный процесс (в данном случае 64-битный тонкий или толстый клиент 1cv8.exe) физически не может загрузить в свое адресное пространство 32-битные библиотеки. При попытке обратиться к методам генерации штрихкода платформа 1С понимает, что вызов невозможен, и прерывает операцию аварийным сообщением.

Рассмотрим по шагам основные способы решения данной проблемы.

Способ 1. Отключение вывода штрихкода PDF417 в настройках отчета

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

Выполним следующие действия в интерфейсе 1С:УПП 1.3:

  1. Откройте регламентированный отчет (в нашем примере — Расчет по страховым взносам).
  2. В верхней панели управления формой найдите и нажмите кнопку «Настройка».
  3. В открывшемся окне настроек перейдите на вкладку «Общие».
  4. Найдите опцию «Разрешить печать без штрихкода PDF417» и установите напротив нее флажок.
  5. Нажмите кнопку «ОК» для сохранения настроек.
  6. Вернитесь в форму отчета и нажмите кнопку «Печать». Вместо прямой печати выберите пункт «Показать бланк».

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

Способ 2. Запуск базы данных через 32-разрядный клиент 1С

Если вам обязательно требуется распечатать документ именно со штрихкодом PDF417, единственным полноценным решением будет запуск 32-разрядного клиента платформы «1С:Предприятие». На одном компьютере могут бесконфликтно сосуществовать обе версии платформы — и x86, и x64.

Выясним, как правильно настроить запуск 32-битной версии:

  1. Убедитесь, что на вашем компьютере установлен 32-разрядный клиент 1С той же версии сборки, что и основная платформа (например, 8.3.12.1790). При установке платформы из дистрибутива необходимо выбрать установку тонкого или толстого клиента x86.
  2. Запустите стандартное окно выбора информационных баз (стартер 1С).
  3. Выберите нужную информационную базу в списке и нажмите кнопку «Изменить» на правой панели.
  4. В открывшемся мастере редактирования настроек нажмите кнопку «Далее», чтобы перейти на вторую страницу параметров.
  5. Найдите поле «Разрядность». По умолчанию там может быть установлено значение «Авто» или «64 (x64)». Измените его на «32 (x86)».
  6. Нажмите кнопку «Готово» для сохранения изменений.

Если у вас используется старая версия стартера 1С, где поле выбора разрядности отсутствует, запустить систему в режиме x86 можно вручную через исполняемый файл из папки установки. Для этого выполните следующие действия:

  1. Откройте проводник Windows.
  2. Перейдите по пути расположения 32-битных программ. По умолчанию папка установки выглядит следующим образом: C:\Program Files (x86)\1cv8\<Номер_Версии_Платформы>\bin\
  3. Найдите файл запуска 1cv8.exe (или 1cv8t.exe для тонкого клиента).
  4. Кликните по нему правой кнопкой мыши и выберите пункт «Отправить» -> «Рабочий стол (создать ярлык)».
  5. Запустите 1С через этот ярлык, выберите вашу информационную базу и выполните печать отчета. 32-разрядный клиент успешно загрузит компоненту ГНИВЦ и сформирует штрихкод без ошибок.

Способ 3. Переход на электронный документооборот

Проанализируем текущие требования законодательства. В настоящее время государственные органы (ФНС, СФР) практически не принимают отчеты крупного и среднего бизнеса на бумажных носителях. Расчет по страховым взносам должен сдаваться строго в электронном виде.

Если организация отправляет отчеты через встроенный сервис «1С-Отчетность» или сторонних операторов ТКС (через выгрузку в XML-файл), физическая печать бланка со штрихкодом вообще не требуется. Для отправки отчета в ФНС используется файл выгрузки, формирование которого никак не связано с 32-битной внешней компонентой печати. Надобность в использовании устаревшего модуля ГНИВЦ в этом случае полностью отпадает.

← На главную