При работе с платформой 1С 7.7 на 64-разрядных операционных системах (Windows Server 2008, Windows 7, 10 x64) часто возникает проблема с ActiveX-компонентой Barcode.ocx. Библиотека может успешно регистрироваться в системе, однако при попытке добавить OLE-объект в макет печатной формы или вывести его на печать, штрихкод не отображается в списке элементов либо выводится в виде пустого прямоугольника.
Рассмотри подробнее причины возникновения этой неполадки и разберем по шагам доступные способы решения задачи.
Проанализируем основные факторы, из-за которых 32-битный ActiveX-элемент некорректно работает в 64-битной среде Windows:
regsvr32.exe, расположенную в системном каталоге SysWOW64, а не в System32.HKCU\Software. Если при первом вызове ActiveX у пользователя нет прав на запись в реестр, объект не сохранит свои настройки.1cv7.exe.Разберем процесс регистрации библиотеки Barcode.ocx через 32-битную командную строку под учетной записью администратора:
Barcode.ocx в папку C:\Windows\SysWOW64 или в каталог BIN платформы 1С 7.7.
C:\Windows\SysWOW64\cmd.exe
regsvr32.exe:
C:\Windows\SysWOW64\regsvr32.exe "C:\Windows\SysWOW64\Barcode.ocx"
Выясним, почему зарегистрированная компонента может не работать в терминальном сеансе или у обычного пользователя. При первом инициализировании Barcode.ocx создает структуры данных в реестре текущего пользователя.
1cv7.exe или 1cv7s.exe) от имени Администратора.Если штрихкод виден в макете, но пропадает непосредственно при отправке на принтер, проанализируем настройки системы и макета:
1cv7.exe в список исключений DEP («Параметры системы» -> «Дополнительно» -> «Быстродействие» -> «Предотвращение выполнения данных»).Auto Type, принудительно указав тип штрихкода (например, EAN-13 или Code 39).Если нестабильная работа Barcode.ocx сохраняется из-за особенностей 64-битных драйверов принтеров в RDP-сессиях, рассмотрим альтернативные методы вывода штрихкодов в 1С 7.7:
Таблица.Рисунок().1CBarCode.dll, которая работает значительно стабильнее на современных ОС.