Переход на 64-разрядные версии клиентских приложений «1С:Предприятие 8» — это отличный способ повысить производительность системы, оптимизировать работу с оперативной памятью и избежать критических ошибок при обработке больших массивов данных. Однако этот шаг часто сопровождается локальными техническими трудностями. Одной из наиболее распространенных проблем является невозможность печати регламентированных отчетов и налоговых деклараций в машиночитаемом виде (двухмерный штрихкод PDF417).
В этой статье мы подробно проанализируем причины возникновения данной проблемы, разберем по шагам варианты ее решения как для локальных пользователей, так и для работы в терминальном режиме (RemoteApp/RDP), а также рассмотрим альтернативные способы вывода отчетности на печать.
Для того чтобы понять суть проблемы, нам необходимо углубиться в технические нюансы взаимодействия платформы 1С с внешними компонентами. Основной модуль, который отвечает за формирование двухмерного штрихкода на бланках налоговых деклараций — это разработанный ГНИВЦ ФНС РФ библиотечный модуль «Печать НД с PDF417».
Исторически этот модуль поставляется в виде 32-разрядного COM-объекта (ActiveX). Архитектура операционной системы Windows накладывает жесткое ограничение: 64-битные процессы не могут напрямую загружать и вызывать 32-битные динамические библиотеки (DLL) и COM-компоненты внутри своего адресного пространства.
Когда вы запускаете 64-разрядный клиент 1С (файл 1cv8c.exe или 1cv8.exe x64) и пытаетесь открыть печатную форму декларации со штрихкодом, система пытается обратиться к библиотеке TAXDOCPrt.TAXDOCPrint. Происходит конфликт разрядности: 64-битная платформа 1С не видит 32-битный ActiveX-компонент ГНИВЦ. В результате система выдает ошибку о неподдерживаемой разрядности, зависает либо бесконечно предлагает пользователю установить модуль печати, даже если он уже успешно инсталлирован в операционной системе.
Рассмотрим самый простой и надежный технический способ обхода этой проблемы. Если на рабочих станциях пользователей или на терминальном сервере установлена 64-разрядная платформа 1С, это вовсе не означает, что вы не можете использовать 32-разрядный клиент.
Проанализируем важный архитектурный нюанс: серверу 1С абсолютно все равно, какая разрядность у подключающегося к нему клиента. Главное условие — полное совпадение номера релиза (версии) платформы сервера и клиента. Таким образом, серверная часть может успешно функционировать в 64-битной среде, в то время как пользователи для выполнения определенных задач могут использовать 32-битное клиентское приложение.
Разберем по шагам процесс настройки запуска 32-битного клиента:
После выполнения этих действий система при запуске данной конкретной информационной базы автоматически выберет исполняемый файл 32-разрядного клиента. В этом режиме вызовы ActiveX-компонента печати PDF417 будут отрабатывать штатно, и печать деклараций будет выполнена без ошибок.
Ситуация усложняется, когда пользователи работают в терминальной сессии на удаленном сервере, администрированием которого занимается стороннняя организация или провайдер облачных услуг. Часто системные администраторы таких серверов неохотно идут на установку дополнительных программных компонентов или требуют за это дополнительную плату.
Как решить эту задачу с минимальными затратами ресурсов? Рассмотрим практические рекомендации:
1cv8c.exe, находящийся в каталоге C:\Program Files (x86)\1cv8\.... Это позволит изолировать пользователей, печатающих отчетность, от остальных сотрудников.Фирма «1С» оперативно отреагировала на проблему несовместимости x64-систем с библиотекой ГНИВЦ и предложила встроенное решение на уровне прикладных конфигураций.
Начиная с конца 2020 года (в частности, в конфигурации «1С:Бухгалтерия предприятия» начиная с релиза 3.0.84.35) разработчики полностью переписали механизм генерации двухмерного штрихкода.
Вместо вызова устаревшего внешнего 32-разрядного COM-объекта ActiveX, в систему был интегрирован альтернативный генератор штрихкодов на базе технологии JavaScript (JS). Этот генератор выполняется непосредственно внутри платформы 1С и не зависит от разрядности операционной системы или клиентского приложения.
Если вы регулярно обновляете свои конфигурации до актуальных релизов, данная проблема решится сама собой «из коробки» без установки 32-разрядных клиентов. Однако, если ваша база сильно кастомизирована, снята с поддержки или по каким-то причинам не может быть обновлена до современных версий, вам придется использовать методы, описанные в Решениях №1, №2 или №4. Для экономии времени автоматизировать обновление и тестирование баз 1С можно по расписанию в тихом режиме.
Посмотрим на проблему с практической точки зрения. В современных реалиях практически вся регламентированная и налоговая отчетность сдается в контролирующие органы в электронном виде через операторов электронного документооборота (ЭДО). Бумажные копии деклараций со штрихкодами требуются бухгалтерам крайне редко — в основном для внутреннего архива, предоставления учредителям или по запросу коммерческих банков для подтверждения финансовой отчетности.
Законодательство РФ допускает распечатку налоговых деклараций на стандартных бланках без двухмерного штрихкода PDF417. В платформе 1С для этого предусмотрена штатная опция, которая не требует использования внешних библиотек и прекрасно работает на любой разрядности платформы.
Проанализируем, как включить эту опцию:
Если вам обязательно требуется бумажный лист декларации именно со штрихкодом PDF417, но на терминальном сервере категорически запрещено менять разрядность клиента 1С, рассмотрим варианты использования внешних бесплатных инструментов. Для этого вам сначала потребуется выгрузить файл декларации в формате XML из 1С на свой локальный компьютер (или сетевой диск). Чтобы не повторять эти действия вручную, настроить робота для переноса данных между окнами и формирования документов можно через RPA-платформу.
Для печати выгруженного XML-файла со штрихкодом можно использовать следующие бесплатные программные продукты:
Это официальное бесплатное программное обеспечение, разрабатываемое по заказу ФНС РФ. Оно предназначено для автоматизации процесса подготовки налоговой отчетности. Программа содержит в себе все актуальные шаблоны машиночитаемых бланков и встроенный модуль печати PDF417.
Для решения нашей задачи выполните следующие шаги:
Еще один официальный инструмент от разработчиков налоговых форматов. Основное назначение программы — проверка файлов отчетности на соответствие XML-схемам ФНС. Однако в нее также встроен полноценный модуль визуализации.