Инструкция по настройке 1С драйвера

БЫСТРЫЙ СТАРТ
по установке и настройке драйвера весов
ScalesComSrv

Драйвер предназначен для быстрой интеграции весов в любые учетные системы на базе 1С:Предприятия версий 7.х, 8.х.

Требования:

  • ОС не менее Windows XP, 32/64 бит.
  • Платформа 1С:Предприятие 7.х, 8.х.
  • Для настройки драйвера нужна «мышка».

Шаг 1 – установка

Для установки драйвера запустите установочный файл «setup-scales-driver-версия.exe» под правами администратора.
По умолчанию установка производится в папку:
«C:\ScalesComSrv\версия\», там образуются файлы:

  • sample-1c – примеры обработок для 1С;
  • admin1CScales.exe – программа для настройки драйвера;
  • settings.ini – файл с настройками;
  • UniproScalesComServer.dll – драйвер весов.

Шаг 2 – настройка

Запустите программу настройки драйвера:

«Пуск»→«Все программы» → «Драйвер весов для 1С» → «Программа настройки драйвера»

Она выглядит так:

Программа настройки драйвера весов

Рис. 1. Программа настройки драйвера весов

Драйвер поддерживает работу одновременно до 99 разных или одинаковых моделей весов.
Слева находится список используемых весов, справа – параметры подключение к весам и тестирование связи.

Значения параметров подключения:

  • «Номер весов в 1С» — числовой номер-идентификатор, по которому в 1С можно узнавать вес на весах,
    нажимать на весах
    клавишу «ТАРА» и передавать на весы цену. Этот номер можно изменять, но следите, чтоб номер не повторялся.
  • «Модель весов» — модель/тип подключаемых весов. Если не уверены какую модель выбирать обратитесь к
    поставщику
    драйвера.
  • «СОМ-порт» или «Ethernet» — выбираем тип подключения к весам: по СОМ-порту или через
    компьютерную сеть.
  • «СОМ-порт» — выбираем из списка или вводим вручную имя СОМ-порта через который происходит
    подключение.
  • «Скорость» — вводим скорость СОМ-порта на которую настроены весы.
    Производить настройку СОМ-порта
    через системный «Диспетчер оборудования» не нужно, драйвер сам выставит все нужные
    параметры.
  • «Ethernet» — вводим IP-адрес весов или dns-имя (пример:“192.168.5.27”; “vesy1.mydomain.com”).
  • «TCP-порт» — сетевой порт на который настроены весы или «переходник RS232-Ethernet/LAN».
  • «Не разрывать соединение» — по умолчанию не активно: драйвер открыл СОМ-порт, получил данные, закрыл
    СОМ-порт
    (если «Ethernet», то: установил соединение, получил данные, разорвал соединение). Если параметр
    активизировать, то
    СОМ-порт будет постоянно открыт, а Ethernet-соединение не будет разрываться. Это может ускорять работу если
    СОМ-порт
    пробрасывается на терминальный сервер, или при работе в условиях медленной/загруженной компьютерной сети.

Когда выставили все параметры протестируйте связь с свесами прежде чем переходить к интеграции в 1С.

После настройки драйвера перезапустите вашу 1С.

Вы можете сгенерировать исходный код для быстрой интеграции, нажмите «Исходный код для подключения в 1С».

Шаг 3 – подключение в 1С

Откройте в конфигураторе: «C:\ScalesComSrv\версия\sample-1c» — там примеры обработок. Можете посмотреть
их исходный
код, и с их помощью проверить работоспособность драйвера.
Или в программе настройки драйвера нажмите: «Исходный код для подключения в 1С».

Ниже в приложениях приведены исходные коды 1С, как примеры подключения.

Подключение к 1С конфигурациям, которые поддерживают работу со стандартным оборудованием (УТ, УТП, РОЗНИЦА и т.д.)

В 1С выбираем меню:

«Сервис»-«Торговое оборудование»-«Подключение и настройка торгового оборудования»

Потом выбираем «Электронные весы», и «Добавить».

Нужно будет выбрать обработку обслуживания «ОбработкаОбслуживания_УТ_УТП_РОЗН_8.epf» с папки установки драйвера.

Программа настройки драйвера весов

 

 

Приложение 1.

Описание ошибок возвращаемых драйвером
Код ошибки Описание для СОМ-порта Описание для Ethernet
1 Все ОК
2 Не возможно открыть СОМ-порт. Указанный СОМ-порт не существует, или уже открыт другой программой. Не возможно установить соединение.

  1. Проверьте правильность указания IP-адреса и TCP-порта.
  2. Ethernet-переходник весов должен работать в режиме: TCP-Server.
  3. Возможно, блокирует соединение Брандмауэр(Firewall).
3 Нет ответа от весов.

  1. Проверьте кабель подключения.
  2. Некоторые весы не передают вес, если он меньше ли равен НУЛЮ.
4 Ошибка в цене.
Возможно очень большое значение цены передается на весы.
5 Текущий тип весов не поддерживает команды.
Например, весы для простого взвешивания не принимают команду «установка цены»
6 Драйвер работает в демонстрационном режиме.
Получить вес можно только с определенного диапазона значений.
7 Весы перегружены.
Вес больше максимально допустимого значения.
8 Весы с указанным номером в драйвере не найдены.

Приложение 2.

    //версия платформы 1С 7.7

    Перем Весы Экспорт;
    Перем Рез;      // переменная в которую записываеся сообщение о ошибке
    Перем ИмяВесов;

    Процедура КнопкаПолучитьВесНажатие()
        Перем Вес; // вес в граммах (или в килограммах, если весы больше тонны)
        Перем Цена; // поддерживаются не все типы весов (только торговые)
        Перем Стоимость; // поддерживаются не все типы весов (только торговые)
        Перем ВесСтабильный; // если 1 = вес на весах успокоился, 0 = не успокоился

        //Получаем вес с весов
        Рез = Весы.GetWeight(ИмяВесов, Вес, Цена, Стоимость, ВесСтабильный );

        Если Рез <> 0 Тогда
            Сообщить ( "Ошибка: "+ Строка( Рез ));
        Иначе
            Сообщить ( "Вес: "+ Строка(Вес) +
                " Цена: "+ Строка(Цена) +
                " Стоимость: "+ Строка(Стоимость)+
                " Вес стабильный: "+ Строка(ВесСтабильный));
        КонецЕсли;
    КонецПроцедуры

    Процедура КнопкаНажатьТАРАНажатие()
        Рез = Весы.PressT( ИмяВесов );
        Если Рез <> 0 Тогда
            Сообщить ( "Ошибка: "+ Строка( Рез ));
        КонецЕсли;
    КонецПроцедуры

    Процедура КнопкаОтправитьЦенуНажатие()
        Рез = Весы.SetPrice( ИмяВесов, 12345 );
        Если Рез <> 0 Тогда
            Сообщить ( "Ошибка: "+ Строка( Рез ));
        КонецЕсли;
    КонецПроцедуры

    ///////////////////////////////////////////////////////////////////////

    //Инициализация при открытии обработки
    ИмяВесов = "1";

    // Подключаем к 1С СОМ-обьект для работы с весами
    Попытка
        ПодключитьВнешнююКомпоненту("AddIn.UniproScalesComSrv");
        //если драйвер не зарегистрирован с помощью regsvr32, тогда так:
        //ЗагрузитьВнешнююКомпоненту("C:\Com1CScalesDriver\AdminV3\UniproScalesComServer.dll");
        //////////////////
        // Создаем объект "ВЕСЫ"
        Весы = СоздатьОбъект ("AddIn.UniproScalesComSrv");
    Исключение
        Сообщить("Компонента для работы з весами НЕ загружена", "!!");
    КонецПопытки;

Приложение 3.

    //версия платформы 1С 8.х

    Перем Весы Экспорт;
    Перем Рез; // переменная в которую записываеся сообщение о ошибке
    Перем НомерВесовИлиИмя;

    Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
        НомерВесовИлиИмя = "1";
        Попытка
            ПодключитьВнешнююКомпоненту("AddIn.UniproScalesComSrv");
            //если драйвер не зарегистрирован с помощью regsvr32, тогда так:
            //ЗагрузитьВнешнююКомпоненту("C:\Com1CScalesDriver\AdminV3\UniproScalesComServer.dll");
            ///////////////////////////////////////////////////////////
            // Создаем объект "ВЕСЫ"
            Весы = Новый ("AddIn.UniproScalesComSrv");
        Исключение
            Сообщить("Компонента для работы з весами НЕ загружена", СтатусСообщения.ОченьВажное);
        КонецПопытки;
    КонецПроцедуры

    Процедура КнопкаПолучитьВесНажатие(Элемент)
        Перем Вес; // вес в граммах (или в килограммах, если весы больше тонны)
        Перем Цена; // поддерживаются не все типы весов (только торговые и счетные)
        Перем Стоимость; // поддерживаются не все типы весов (только торговые и счетные)
        Перем ВесСтабильный; // если 1 = вес на весах успокоился, 0 = не успокоился

        //Получаем вес с весов
        Рез = Весы.GetWeight(НомерВесовИлиИмя, Вес, Цена, Стоимость, ВесСтабильный );
        Если Рез = 0 Тогда
            Сообщить ( " Весы №:"+ НомерВесовИлиИмя +":"+
                " Масса: "+ Строка(Вес) +
                " Цена: "+ Строка(Цена) +
                " Стоимость: "+ Строка(Стоимость)+
                " Вес стабильный: "+ Строка(ВесСтабильный));
        Иначе
            Сообщить("Ошибка:" + Строка(Рез), СтатусСообщения.ОченьВажное);
        КонецЕсли;
    КонецПроцедуры

    Процедура КнопкаНажатьТараНажатие(Элемент)
        Рез = Весы.PressT( НомерВесовИлиИмя );
        Если Рез <> 0 Тогда
            Сообщить("Ошибка:" + Строка(Рез), СтатусСообщения.ОченьВажное);
        КонецЕсли;
    КонецПроцедуры

    Процедура КнопкаПослатьЦенуНажатие(Элемент)
        Рез = Весы.SetPrice( НомерВесовИлиИмя, 12345 );
        Если Рез <> 0 Тогда
            Сообщить("Ошибка:" + Строка(Рез), СтатусСообщения.ОченьВажное);
        КонецЕсли;
    КонецПроцедуры