Как узнать версию подключаемого оборудования 1с
Наверное каждому кто пишет свою конфигурацию с нуля, рано или поздно понадобится подключить к ней какое то оборудование, будь то принтер чеков, кассовый аппарат, сканер штрихкодов и т.д. Если делать это с нуля без каких либо заготовок, задача может показаться не такой то и простой, так как потребуется изучить само оборудование, найти драйвера к нему и написать интерфейс обмена его со своей конфигурацией.
На вопрос о постановке на поддержку я бы посоветовал ответить Да.
Далее необходимо отметить необходимые вам подсистемы.
1) Для начала снимите галочки с корня конфигурации и диалоге сравнения и объединения, затем выполните действие «Отметить по подсистемам из файла» и отметьте подсистему – ПодключаемоеОборудование. Снимите флажок «Включать объекты подчинённых подсистем». Нажмите «Установить».
2) Ещё раз выполните действие «Отметить по подсистемам из файла». На этот раз отметьте подсистемы необходимого оборудования вложенные в ПодключаемоеОборудование. Нажмите «Установить».
3) Нажмите Выполнить и Продолжить.
Далее согласно инструкциям с ИТС:
В целевую конфигурацию в модуль управляемого приложения в процедуры ПередНачаломРаботыСистемы(), ПриНачалеРаботыСистемы(), ПередЗавершениемРаботыСистемы(), ОбработкаВнешнегоСобытия()перенести код отвечающий за инициализацию и работу библиотеки.
Далее включаем справочники ДрайверыОборудования и ПодключаемоеОборудование в свою подсистему и включаем мх в командный интерфейс управляемого приложения. При попытке запуска настройки рабочего места мы получим ошибку.
Чтож ожидаемо, так как мы не перенесли код в модуль управляемого приложения. Так давайте же сделаем это.
Также нужно установить в параметрах сеанса код, ответственный за установку параметров. Пример кода можно посмотреть в Демо базае БПО, текущего релиза, в моем случае это было:
Итак запускаем базу и видим что ошибок нет. Добавляем драйвера, в конфу, я их выгрузил из справочники Драйверы оборудования и добавил ручками в свою конфу. И создаем экземпляр оборудования.
Ну а дальше дело за малым, читаем документацию соответственно подключаемому оборудованию и реализуем код. В моем случае для печати чека на принтере чеков я реализовал простейшую функцию.
Качаете с сайта 1С последнюю версию библиотеки подключаемого оборудования и устанавливаете. Обновляете платформу до самой последней 8.3.
В настройках конфигурации ставим максимальный режим совместимости и в совместимости интерфейса разрешаем такси. После сравнением-объединением добавляем функционал 1Cv8.cf из папки установленной БПО следуя инструкции из ExtFiles\Порядок внедрения БПО.htm.
Добавляем код из БПО в модуль управляемого приложения и этот же код дублируем в модуль обычного приложения. В модуль сеанса процедуру УстановкаПараметровСеанса добавляем строчку
Также в справочник Подключаемое оборудование следует добавить реквизит касса.
А в общем модуле СтандартныеПодсистемыПовтИсп в процедуре ВставитьИменаПодчиненныхПодсистем заккоментировать проверку на включение в командный интерфейс. После этого включаем в подсистеме Подключаемое Оборудование галку включать в командный интерфейс и настраиваем его.
Прописываем в список баз эту же базу и основной режим запуска ставим тонкий клиент. Создаем обработку для работы на управляемых формах. То есть вся работа с базой 1с будет идти в обычном режиме, а печать чеков будет с управляемых форм. В обработку запихиваем служебный код открытия закрытия смены из ExtFiles\Применение функционала БПО в конфигурациях.htm а также оттуда берем пример кода печати чека и адаптируем его для нужных документов. Либо этот код можно взять из свежей УТ 10.3. Дописываем код нахождения и печати еще не распечатанных чеков и приступаем к исправлению ошибок совместимости.
Основные ошибки, с которыми я столкнулся, это что в запросе поля по которым идет сортировка нужно добавить к полям выборки и то, что .Метаданные() у незаполненного значения больше спросить нельзя. Добавляем требуемые поля в выборки в запросы и обращения к метаданным берем в попытку исключение. Ошибок таких достаточно немного, вполне возможно их исправлять оперативно.
Для работы оборудования понадобится драйвер, его можно быстро заполучить, установив демо базу Библиотека Подключаемого Оборудования, В стартере через добавить создаем ее, открываем базу, открываем справочник "Драйвера оборудования", сохраняем нужный.
Соответственно потом открываем базу с тонкого клиента, загружаем а потом устанавливаем драйвер, добавляем оборудование, прописываем настройки ККТ. Важно прописать налоговые ставки так же как они забиты в ККТ иначе чек не будет печататься.
Порядок подключения и настройки торгового оборудования для платформы "1С:Предприятие 8.1"
Перед подключением торгового оборудования в конфигурации необходимо физически подключить оборудование и установить необходимые драйвера. Информацию о том, где скачать последние версии драйвера можно получить, ознакомившись с пунктом 3 раздела 5.
ПРИМЕЧАНИЕ
Если в дальнейшем расположение драйвера на жестком диске изменится (файл будет перемещен в другой каталог), то необходимо будет повторить процедуру регистрации драйвера, как описано выше в пункте 2.
ВНИМАНИЕ
Если производится установка новой версии драйвера взамен установленной ранее и используемой, то необходимо закрыть все приложения, использующие драйвер. Если этого не сделать, то возможны ошибки во время установки драйвера, а также будет использоваться старая версия драйвера до момента перезапуска приложения, что может привести к появлению ошибок после обновления обработок обслуживания.
Конфигурация поставляется с готовыми обработками обслуживания для всех видов торгового оборудования. Эти обработки обслуживания хранятся в подкаталоге " TradeWareEpf " каталога поставки конфигурации, а также может быть получены с сайта средствами самой конфигурации.
Подключение и настройка торгового оборудования производится 2-мя способами: с помощью обработки "Помощник подключения и настройки торгового оборудования" и с помощью обработки "Подключение и настройка торгового оборудования". Ниже рассмотрены оба способа способа подключения.
ПРИМЕЧАНИЕ
Способы подключения, приведенные в данной главе, реализованы в конфигурациях "Управление торговлей", версия 10.3.7 и "1С:Розница", версия 1.0.5.
Помощник подключения и настройки торгового оборудования запускается из интерфейса конфигурации (например, "Сервис" - "Торговое оборудование" - "Помощник подключения и настройки торгового оборудования"), либо с формы обработки "Подключение и настройка торгового оборудования".
-
Приветствие.
В первом диалоговом окне появляется экран приветствия, с описанием назначения Помощника. Ознакомьтесь с возможностями Помощника и нажмите кнопку " Далее ".
Дополнительно ( красным цветом ) отмечены устаревшие обработки обслуживания (версия API загруженной обработки меньше текущей версии механизма ТО). Если выбрана устаревшая обработка обслуживания, то автоматически устанавливается признак "Обновить обработку обслуживания" и при нажатии кнопки "Далее" будет предложено обновить ее.
Если подтвердить желание обновить ОО, то, в зависимости от выбранного ресурса обновления, открывается форма выбора файла, отфильтрованная по имени и расширению файла, или производится обновление обработки с сайта. При успешном обновлении обработки обслуживания осуществляется автоматический переход к следующему шагу (к пункту 5 раздела 2).
Если указанное наименование уже используется для другого устройства, то при нажатии на кнопку "Далее" будет выдано соответствующее предупреждение и предложено указать другое наименование.
Если на форме настройки параметров нажать "Отмена" и устройство перед этим не проходило проверку, то Помощник возвращается на страницу выбора устройства.
Если устройство уже проходило проверку и на форме настройки параметров нажать "Отмена" или "ОК", не меняя предыдущие параметры, то появляется дополнительный вопрос о повторной проверке устройства.
Если проверка проходит успешно, то Помощник сообщает об этом и спрашивает о том, что не планируется ли подключать еще одно устройство.
- Запуск обработки "Подключение и настройка торгового оборудования" .
Откройте пункт меню "Подключение и настройка торгового оборудования". По умолчанию данный пункт меню расположен в меню "Сервис" - "Торговое оборудование". - Добавление обработок обслуживания.
Нажмите на кнопку "Обработки обслуживания".
Для загрузки из каталога в появившемся меню выберите пункт "Загрузить все обработки обслуживания из каталога" и укажите каталог, в котором располагаются обработки обслуживания (по-умолчанию, это подкаталог "TradeWareEPF" каталога поставки конфигурации).
Для загрузки с сайта в появившемся меню выберите пункт "Загрузить все обработки обслуживания с сайта"
Будут импортированы все обработки обслуживания торгового оборудования. При этом если в справочнике уже имеются обработки обслуживания, имена которых совпадают с именами обработок из каталога, и их версии меньше версий обработок из каталога, то такие обработки будут обновлены.
Если необходимо добавить только одну обработку обслуживания, то ознакомьтесь с пунктом 4.1.
Если необходимо обновить одну или все добавленные ранее обработки обслуживания, то ознакомьтесь с пунктом 4.2 и пунктом 4.3 соответственно.
. и далее кнопку "Выбрать" ("F4").
Если модель была создана ранее, то после нажатия кнопки "Добавить" (на клавиатуре "Insert") выберите из выпадающего списка модель подключаемого оборудования и перейдите к пункту 8.
Подтвердите выбор (нажмите "ОК" ).
Закройте список "Поддерживаемое торговое оборудование".
Выберите необходимое оборудование из списка созданных моделей устройств.
В открывшемся диалоге укажите наименование устройства, отличное от исходного. В дальнейшем при работе с торговым оборудованием в документах, если к рабочему месту пользователя подключено несколько моделей торгового оборудования одного вида, то при осуществлении операций с этим видом торгового оборудования пользователю предлагается выбрать нужную модель.
Подтвердите создание новой записи (нажмите "ОК").
Повторите описанные в этом пункте шаги если необходимо добавить аналогичные устройства.
Укажите необходимые для подключения параметры в соответствии с настроенными параметрами устройства и драйвера и физическим подключением оборудования.
. или кнопку "Загрузка/обновление обработки обслуживания с сайта" для загрузки с сайта.
Если обработка обслуживания уже загружена и используется подключенным оборудованием, но ее нужно обновить, то необходимо выполнить следующие действия:
- Откройте обработку "Подключение и настройка торгового оборудования".
- Выберите подключенную модель.
. или кнопку "Загрузка/обновление обработки обслуживания с сайта" для загрузки с сайта.
Версия обработки должна обновиться.
Если версия загружаемой обработки будет меньше версии текущей обработки, то будет выдано предупреждение.
Если обработка обслуживания уже загружена, но еще не используется ни одним устройством, то для ее обновления необходимо:
- Открыть обработку "Подключение и настройка торгового оборудования".
- Нажать кнопку "Обработки обслуживания" .
- Выбрать пункт меню " Открыть справочник "Обработки обслуживания ТО" ".
- Выбрать строку с обновляемой обработкой обслуживания
- Нажать кнопку "Изменить текущий элемент" (" F2 ").
- В открывшейся форме в строке "Обработка" нажмите кнопку "Загрузка/обновление обработки обслуживания из каталога" для загрузки из каталога или кнопку "Загрузка/обновление обработки обслуживания с сайта" для загрузки с сайта.
- Выбрать файл новой обработки обслуживания.
- Подтвердить сохранение обновленной обработки обслуживания (нажмите "ОК" ).
- Закрыть справочник "Обработки обслуживания ТО".
- Выполнить проверку подключенного оборудования или вернуться к пункту 3 раздела 3, если обновление производилось перед добавлением нового устройства.
Если необходимо обновить все обработки в справочнике (например, после обновления конфигурации), то можно воспользоваться сервисом обновления обработок обслуживания. Для этого необходимо выполнить следующие действия:
Для обновления с сайта выберите пункт меню " Обновить все обработки обслуживания в справочнике (с сайта) "
Будут обновлены все обработки обслуживания в справочнике "Обработки обслуживания", у которых номер версии меньше номера версии обработки из указанного каталога.
Если по каким-то причинам подключенное в системе оборудование необходимо временно исключить из использования (например, в случае поломки и отправки в ремонт) при этом не потеряв настроенные параметры, то можно воспользоваться свойством оборудования "Подключено". Снимите флажок "Подключено" в строке временно отключаемого устройства. А после того, как наступит необходимость использовать устройства снова, просто установите флажок "Подключено" в строке с данным устройством.
Отключенные таким способом устройства не участвуют в проверке оборудования, а также не подключаются в формах и обработках.
Для получения дополнительной информации о количестве добавленных и реально используемых устройств в системе обратите внимание на левую панель формы обработки "Подключение и настройка торгового оборудования". Напротив каждого вида торгового оборудования (после наименования) отображается информация сколько реально используется устройств и сколько добавлено в системе данного вида.
В конфигурациях реализован сервис проверки наличия обновлений обработок обслуживания на сайте. Для того, чтобы проверить наличие обновлений и произвести обновление выбранных обработок обслуживания необходимо:
- Открыть обработку "Подключение и настройка торгового оборудования".
- Нажать кнопку "Обработки обслуживания" .
- Выбрать пункт меню " Проверить наличие обновлений обработок обслуживания на сайте "
В открывшейся форме "Обновление обработок обслуживания" представлены обработки следующего типа:
- Старая (отмечена красным цветом) - значение "Версия" или "Версия API" обработки обслуживания в справочнике ниже, чем значение обработки обслуживания с сайта. Доступно обновление с сайта.
- Текущая (отмечена черным цветом) - значение "Версия" или "Версия API" обработки обслуживания в справочнике ниже, чем значение обработки обслуживания с сайта. Доступно обновление с сайта.
- Новая (отмечена зеленым цветом) - значение "Версия" и "Версия API" обработки обслуживания в справочнике выше, чем значение обработки обслуживания с сайта. Доступно обновление с сайта.
- Добавляемая (отмечена синим цветом) - обработка обслуживания, доступная на сайте, отсутствует в справочнике. Доступно добавление с сайта.
- Необновляемая (отмечена серым цветом) - для обработки обслуживания в справочнике отсутствует обновление на сайте. Не доступно обновление с сайта.
- Помечена для обновления (отмечена жирным шрифтом) - обработки обслуживания, которые буду обновлены (добавлены) в справочнике.
Для того чтобы провести обновление текущих или загрузку новых обработок обслуживания необходимо отметить обновляемые/загружаемые обработки (установить флажок напротив обработки) и нажать кнопку "Обновить".
По умолчанию отображаются только обработки обслуживания, для которых доступны обновления. Для получения информации об остальных обработках обслуживания, загруженных в базу, необходимо установить флаг "Отображать текущие, новые и необновляемые обработки обслуживания". Для получения информации об остальных доступных на сайте обработках обслуживания установите флаг "Отображать отсутствующие в справочнике обработки обслуживания".
Если на сайте отсутствуют обновления для обработок, то автоматически устанавливается флаг "Отображать текущие, новые и необновляемые обработки обслуживания".
Для того чтобы включить функцию автоматической проверки наличия обновлений обработок обслуживания при загрузке конфигурации необходимо открыть форму "Обновление обработок обслуживания" (см. пункт 4.6) и установить флаг "Проверять наличие обновлений обработок обслуживания при запуске".
Настройка параметров драйвера осуществляется с помощью формы настройки параметров обработок обслуживания. Набор необходимых для настройки параметров зависит от используемого драйвера (драйверы не используется только для обработок обслуживания, использующих для взаимодействия файлы обмена).
Для всех форм настроек доступны 2 свойства.
- Состояние драйвера. Позволяет определить наличие драйвера.
… и выдается предупреждение
ПРИМЕЧАНИЕ
Обратите внимание на то, что при невозможности определения версии или при несовпадении текущей и ожидаемой версии такие предупреждения появляются перед началом работы с документами и обработками. Если версию невозможно определить, то это означает, что используется несертифицированный драйвер - используйте сертифицированные драйвера и оборудование. Если версия не совпадает с ожидаемой, то необходимо использовать драйвер указанной версии (если доступно) или, если используется драйвер более новой версии нежели требуемый, обновить обработку обслуживания (если доступно).
ВНИМАНИЕ
По всем вопросам, связанным с версионированием и поставками драйверов, обращайтесь к компаниям-разработчикам драйверов.
Для сертифицированных драйверов дополнительно доступны возможность проверки настроенных параметров и информация о расположении последней версии драйвера.
Сертифицированные драйвера позволяют произвести проверку настроенных параметров не закрывая форму настройки. Для того, чтобы произвести проверку установите необходимые параметры и нажмите кнопку "Тест устройства".
Если для устройства не возможно произвести автоматическую проверку параметров, то для него предлагается ручная проверка работоспособности устройства. То есть по нажатии кнопки "Тест устройства" открывается дополнительная (тестовая) форма, где описаны необходимые действия для выполнения проверки и отображается результат для визуального контроля успеха выполнения проверки.
На формах настройки параметров обработок обслуживания сертифицированных драйверов располагаются ссылки на последние версии драйверов (если они доступны для скачивания).
Если ссылки не приведены, то для получения драйвера необходимо обратиться в компанию производителя/поставщика торгового оборудования. Дополнительную информацию о драйверах и компании-разработчике драйвера можно получить в статье на ИТС "Список поддерживаемого торгового оборудования" или на сайте 1С: Поддерживаемое торговое оборудование
При работе с РИБ необходимо учитывать несколько моментов:
- Подключенные устройства и их настройки привязаны к локальному компьютеру и не подлежат миграции
- Добавлять в базу новые обработки обслуживания и торговое оборудование необходимо однократно, после чего необходимо произвести обмен между узлами для учета изменений
В итоге имеем следующие схемы работы:
- Новые обработки обслуживания добавляются в центральную базу, производится обмен с периферийной базой, после чего производится настройка торгового оборудования в периферийной базе
- Новые обработки обслуживания добавляются в периферийную базу, производится обмен с центральной базой, после чего производится настройка торгового оборудования в периферийной базе
- Обработки обслуживания обновляются в центральной базе, после чего производится обмен с периферийной базой
- Обработки обслуживания обновляются в периферийную базу, после чего производится обмен с центральной базой
- При удалении элемента в одной из баз после обмена данный элемент будет удален и в остальных базах
Все иные комбинации приводят к коллизиям и появлениям ошибочных записей: "задвоение" записей, удаление используемых записей, появление "битых" ссылок.
При реализации проектов на 1С зачастую приходится сталкиваться с разного рода устройствами и их сопряжением. Покуда будут существовать устройства на древним RS232 будет необходимость во внешних компонентах такого рода. Как правило с устройством идет документация, которая нередко содержит систему команд и некий драйвер который распространяется «так как есть». Очень часто драйвера «так как они есть» оставляют ожидать лучшего. Я предлагаю немного окунутся в системное программирование и решить для себя сей вопрос раз и навсегда.
Прекрасная статья содержит пример и достаточное описание что к чему, что где менять. Пример компилируется. Для быстрого старта замечательная статья. Подобный пример свободно распространяется фирмой 1С и валяется в куче хлама на диске ИТС. Много раз мелькало в глазах но было заложено на дальнюю полку с ярлыком «обязательно изучить».
Для простоты внешнюю компоненту далее по тексту буду называть драйвером.
При этом предварительно никаких действий типа regsvr32. Да и на сколько мне известно, OLE32 ужа давно не флагманская технология Microsoft.
2. Хранение самого драйвера в составе обработки или конфигурации.
Файл драйвера вставляем в макет 1С как двоичные данные и по надобности распаковываем его в временный каталог пользователя.
3. Реализация интерфейса драйвера. Вынос логики команд на сторону 1С.
Первоначально при написании драйвера, была использована идеология существующих драйверов. ДемоКомп.СделайЧтото(МногоРаз).
По-сути был повторен драйвер, разумеется без ограничений наложенных производителем. Но сия наследственность оказалась мучительной и пагубной. Раз в пол года возникает необходимость добавления каких-то команд, изменении существующих.
Был написан универсальный драйвер RS232 порта для 1С. Он был протестирован usb-модемом Huawei-1550 и с Марией. Для этого драйвера необходимо переписать сервис обработку для 1С.
После очередного «усовершенствования» родилась идея выноса логики команд на сторону 1С. Драйвер занимается только реализацией транспортного протокола. Системные программисты ликуют. Теперь команда драйвера выглядит:
И да на радость каждому программисту 1С Native API дает возможность вызывать функции по-русски (русские псевдонимы функций).
4. Запись протокола обмена.
Для записи в файл maria.log в каталог временных файлов пользователя команд и реакций на них необходимо:
В файле пишется время и вид события: с — команда; а — ответ; u — соединение; t — количество циклов для получения ответа; e — ошибка.
Вот минимальный набор необходимого чтоб «заработало». Теперь немного о будущем:
5. Другие устройства такого класса.
По задумке не сложно заменить транспортный протокол Марии на протокол например ИКС-а. Можно было б говорить о семействе драйверов. Сам скелет основных необходимых функций готов.
6. Внешние события.
В процедурах реализации транспортного протокола стоит перейти на threads, а сигнализацию о завершении работы команды делать внешним событием. Хочу сделать именно так, но немножко чего-то не хватает: времени или знаний или того и другого. И рок «уже работает так», " работает не трогай" немного охлаждает пыл порыва.
7. Совместная работа.
В планах написание простого web-сервиса, который бы принимал команды, организовывал очередь команд и перенаправлял их на устройство. Сервисная обработка в таком случае будет выглядеть аналогично, команды не поменяются. Изменится только инициализация объекта.
Ссылка на проект на github
Проект состоит из проекта Visual Studio, демонстрации команд на 1С (в модуле управляемого приложения) и сервис обработки для 1С.
Читайте также: