Несмотря на то, что OLE-апплет barcode.ocx официально распространялся фирмой 1С в составе ИТС в качестве базового решения для формирования и вывода на печать штрихкодов в среде 1С 7.7, в редких случаях ему сносит башню и он начинает требовать регистрацию. Причем, может быть так, что под одним пользователем винды все нормально, а под другим - имеем проблему.
Проявляется это в виде всплывающего окна на каждый третий формируемый ШК, которое просто требует нажатия кнопки Ок.
Другое дело, что когда у тебя печатается пакет в пару сотен документов - жмакать каждый раз Ок немного... замедляет процесс работы.
Опытным путем выяснено, что данные о регистрации хранятся в разделе реестра
[HKEY_CURRENT_USER\Software\www.sharedirect.com\Barcode\Barcode]
"Status"="Tanja Schenk * 08.01.72"
и являют собой просто текстовую константу.
Поскольку просто добавление этой записи в реестр проблему полностью не решает (через какое-то время значение в реестре сбрасывается на "Status"="ok"), приходится городить некоторый костыль.
У меня он выглядит примерно так: перед формированием ШК я вызываю такую процедуру
Процедура ПроверитьРегистрациюБаркодОЦХ() Экспорт
WshShell = СоздатьОбъект("WScript.Shell");
Попытка
Статус = WshShell.RegRead("HKCU\Software\www.sharedirect.com\Barcode\Barcode\Status");
Исключение
Статус = "";
КонецПопытки;
Если Нрег(Статус) <> Нрег("Tanja Schenk * 08.01.72") Тогда
WshShell.RegWrite("HKCU\Software\www.sharedirect.com\Barcode\Barcode\Status", "Tanja Schenk * 08.01.72", "REG_SZ");
КонецЕсли;
КонецПроцедуры
PS опять же, опытным путем выяснено, что даже если значение ключа в реестре "Status"="ok", надоедливое окно будет всплывать далеко не сразу - судя по всему, накапливается какой-то счетчик, по превышении которого начинается непотребство. Перезапуск 1С, естественно, обнуляет этот счетчик - так что, возможно, многие просто не доживали до проявления этой проблемы в виду не сильно большого количества формируемых ШК.
С другой стороны - это знание, при необходимости, может помочь немного оптимизировать костыль - не обязательно читать реестр на каждый чих.