Немного предыстории. Взяли мы на сопровождение организацию, в которой учет ведется в системе 1с7.7 Торговля и Склад. Несмотря на то, что это торговая организация, сканерами штрихкодов там не пользовались до нас. Поэтому мы произвели интеграцию сканеров в конфигурацию по накатанному сценарию, который описан в шапке публикации. Пользователей, которым нужно пользоваться сканером штрихкодов, оказалось сильно больше одного, а потому сразу проявилось неудобство в виде необходимости подключаться к каждому пользователю на рабочий стол и прописывать одни и те же настройки. А сегодня была последняя капля, когда с утра пораньше позвонили и пожаловались, что ни один сканер на фирме не работает. Сканирует, но 1С не реагирует. Везде сбросилось до настроек по умолчанию. По горячим следам, в целях предупреждения подобной ситуации, и была написана эта обработка.
Она дублирует все необходимые настройки с формы "Драйвер устройств ввода" из меню "Сервис" для настройки параметров подключения сканера штрихкодов. Отличие ее от стандартного механизма в том, что она сохраняет настройки подключения в файл на диске в каталоге с базой данных, а значит внезапного "слетания" настроек уже не будет. Кроме того имеется возможность указать настройки по умолчанию сразу для всех пользователей. Времена, когда сканера штрихкодов подключались по интерфейсу RS-232 давно прошли. Все сканеры сейчас подключаются через USB-порт, для драйвера - это значит "в разрыв клавиатуры" или "порт 100". Один и тот же порт для всех устройств - идентичные настройки для всех. Т,е. можно один раз открыть форму обработки, произвести настройку, и у всех все сразу заработает. Если же у кого-то установлен старый или особенный сканер, который надо настроить отдельно, есть возможность сохранить настройки подключения эксклюзивно для пользователя. Под пользователем обработка понимает имя учетной записи Windows, под которой пользователь входит на сервер терминалов. Получение этого имени прописано в функции ПолучитьИмяПользователяВин(). При желании вы можете переписать реализацию этой функции под нужны вашей учетной системы и получать имя пользователя, например, из справочника рабочих мест или возвращать имя пользователя штатным методом 1с ИмяПользователя(). При первом запуске обработка создает служебную папку в корне каталога информационной базы AC_ScannerSettings для хранения настроек подключения. При открытии обработка создает объект драйвера сканера, читает текущие настройки и устанавливает их опять же объекту драйвера. Если же сохраненных настроек нет, то обработка читает эти настройки из объекта драйвера. Проверить результат действия обработки можно через Меню Сервис \ Драйвер устройств ввода. При нажатии на кнопку "Сохранить" обработка записывает выбранные настройки в текстовый файл в своей служебной папке. Если установлена галочка Общие настройки то создается файл AC_CommonSet иначе - имя файла совпадает с именем пользователя, которое определила функция, описанная выше. Хранение настроек в отдельных файлах упрощает административные функции. Можно эти файлы забекапить в другом месте и восстанавливать при их повреждении. Если где-то установят старый сканер с подключением по COM порту, можно под своим пользователем сохранить особые настройки подключения, а затем переименовать файл, чтобы настройки соответствовали нужному пользователю. Также их можно копировать (если такие же настройки понадобятся в другом месте) или удалить, если там убрали старье и поставили современное устройство. И при этом не надо отвлекать пользователей: все можно сделать втихую) При желании административные функции вы можете в этой обработке усовершенствовать: например дать возможность выбирать имя пользователя, чьи настройки вы хотите отредактировать.
Подключение обработки в конфигурацию. Самое главное: чтобы все это заработало, нужно в глобальном модуле конфигурации в процедуре ПриНачалеРаботыСистемы() прописать открытие формы этой обработки с непустым параметром. Например:
ОткрытьФормуМодально("Отчет",1,КаталогИБ()+"ExtForms\АЦ_НастройкаСканераШК.ert");
Единичка в этом вызове и есть непустой параметр, вместо нее можно написать что угодно: "Настройка" или "Автозапуск". Для получения подробных разъяснений приведенного кода обратитесь к синтаксис-помощнику 1с.
Также для администратора можно вывести эту обработку в интерфейс программы, чтобы он мог пользоваться ей для настройки параметров подключения. При запуске без параметра эта обработка открывается как обычная форма.