Драйвер UNS.dll - для подключения MINI-T 400МЕ/MINI-T51/MINI-T61 к 1С:Предприятие

  • Модель: Драйвер UNS.dll - для подключения MINI-T 400МЕ/T51/T61 к 1С
  • Наличие: Есть в наличии
700.00Грн.

Зачем подключать кассовый аппарат к 1С?
 Сейчас все кассовые аппараты должны данные о продажах в налоговую инспекцию. Эту функцию можно использовать и для личного учета. Если вы ведете учет в 1С (любой конфигурации), то чтоб ваш бухгалтер не вручную с чеков переписывал данные о продажах, можно настроить автоматический прием документов с кассового аппарата. Плюс, еще можно не выходя из офиса программировать кассовый аппарат (передавать на него список товаров, цен, штрих кодов). За последние годы все больше и больше предприятий и предпринимателей переходят на автоматический удаленный учет, это очень сокращает время на ведение бухгалтерии и уменьшает риск ошибок.

Как это работает:
1. Кассовый аппарат MINI-T 400МЕ в своей памяти запоминает все чеки (продажи; возвраты; отчеты).
2. Через определенное время; например, каждые 30 минут;кассовый аппарат передает на сервер все чеки со своей памяти.
 3. Когда вам нужно получить данные о продажах вы: запускаете 1С и нажимаете кнопку "Получить все чеки". 1С подключается к серверу получает от него данные и у вас в 1С формируются документы "продажа"; "возврат" и т.д. В зависимости от настроек, можно видеть каждый чек или все одним документом.
4. Если нужно на кассовый аппарат передать новый список товаров или новые цены, то в 1С нажимаете кнопку "Передать новый прайс" и на кассовый аппарат передаются новые товары и цены.

Что это за сервер?
Сервер к которому подключается кассовый аппарат и 1С, это защищенный компьютер который хранит все ваши чеки. Связь с ним происходить по защищенному каналу связи. Это сервер может быть ваш, или можно взять в аренду наш сервер.

Что такое UNS.dll?
UNS.dll - это вспомогательная компонента/библиотека для продуктов фирмы 1С. Эта компонента связывается с сервером по защищенному каналу связи, получает с сервера чеки и отправляет на сервер прайсы. Без нее 1С не сможет получать данные с кассового аппарата. Компонента эта платная, на каждый аппарат нужно покупать лицензию (идет привязка к номеру аппарата). Обратите внимание, что лицензия не имеет временных ограничений - 1 раз купили и можно пользоваться постоянно.

Как подключить компоненту UNS.dll к 1С
Подключение UNS.dll к 1С должен осуществлять 1С-программист обслуживающий вашу систему. Мы даем полную документацию по подключению компоненты, и поддерживаем в телефонном режиме. В среднем подключение занимает от 1 до 3-х часов, в зависимости от вашей конфигурации 1С и квалификации 1С-программиста.






Инструкция по подключению UNSDLL к 1С



UniUNS.dll – вспомогательная библиотека для связи программ на платформе 1С (7.7, 8.х) с сервером/шлюзом RETEKO (сервер обмена данными с кассовыми аппаратами).


У вас должно быть одно из двух:
1. Акаунт на сервере RETEKO (https://cp.reteko.com/) (далее WEB-шлюз).
2. Установлена программа “ШЛЮЗ ЮНИСИСТЕМ” на вашем компьютере (далее «локальный шлюз»).
 

1. Распаковать содержимое архива «ручная установка», например, в папку: «C:\UniUNS\1.3.1\»
     UniUNS.dll – это библиотека (СОМ-объект) для связи.

2. В эту папку нужно поместить файлы:
        - *.ekkalic  - файл с лицензией на право использования конкретных кассовых аппаратов. Его дает организация, которая предоставила вам UniUNS.dll.

    Если используете WEB-шлюз, то еще файл:
- *.pem – сертификат шифрования данных (файл подписи). Его дает организация, которая дала вам доступ к WEB-шлюзу RETEKO.


    в папке у вас должны быть файлы, пример:
 
WEB-шлюз (минимум три файла)    Локальный шлюз (минимум два файла)       
UniUNS.dll
4101235596.ekkalic
ivanov.pem    UniUNS.dll
4101235596.ekkalic
    

3. Настройки кассового аппарата MINI-T400:
3.1. Зайти в меню:  [%] [КТ]
3.2. Выбрать "Змінити користувача" -> "Адмін"
         пароль: 12321 [ОК]
3.3. Выбираем "Налаштування" -> "Налашт.застосувань" ->"Reteko" ->"Зв'язок з сервером"
       "URL серверу" - пишем внешний статический IP сервера где установлен шлюз.
       "Порт серверу" - 12700 (по умолчанию)
3.4. Можно выходить с меню.

По умолчанию кассовый аппарат каждые 60 минут отправляет отчеты на шлюз, и каждые 180 минут проверяет наличие нового прайс-листа на шлюзе.
Если нужно вручную немедленно отправить или получить прайс лист, то:
   1. Зайти в меню:  [%] [КТ]
   2. Выбрать "Reteko"
           "Відправити звіти"
           "Оновити прайс-лист"

4. Подключаем к 1С, пример подключения находится в файле «UNSDLLТестОбработка-8-2-man.epf».

4.1. Подключаем к 1С библиотеку:
    Перем UniUNSDLL Экспорт;
ЗагрузитьВнешнююКомпоненту("C:\UniUNS\1.3.1\UniUNS.dll");        
    UniUNSDLL = Новый ("AddIn.UniUNSDLL");
///////////////////////////////////////////////////////////////////////////////
    // Компонента по умолчания настроена на работу с WEB-шлюзом RETEKO
    //    (кассовый аппарат на заводских настройках настроен на работу с WEB-шлюзом)
    // Если вы используете локальный шлюз - на вашем сервере стоит специальная программа,
    // и кассовый аппарат напрямую на нее передает отчеты, тогда нужно указать адрес вашего сервера:
    //
    //     UniUNSDLL.ВыбратьСервер( "192.168.5.29", 12702, 1 );
    //     UniUNSDLL.ВыбратьСервер( "a1.qqq.ua", 4321, 1 );
    //     UniUNSDLL.ВыбратьСервер( "reteko.com", 443, 0 );
    //
    //  параметры:
    //            1-й  домен или IP-адрес вашего сервера  (тип:строка)
    //            2-й  порт                            (тип:число)
    //            3-й  признак шлюза:              (тип:число)
    //                    0 - WEB-шлюз Reteko
    //            1 - локальный шлюз

//Вызывать функцию только если работаем с локальным шлюзом
UniUNSDLL.ВыбратьСервер( "17.123.21.35", 12702, 1 );


         

4.2. Отправляем прайс-лист на сервер для программирования кассовых аппаратов:
/////////////////////////////////////////////////////////////
    // Создаем новый прайс
    //    1-й параметр дата начала действия прайса, тип - строка.
    //              пример1: 20130729          (ГГГГММДД)
    //        пример2: 20101229173500 (ГГГГММДДhhmmss)
    //    2-й параметр число:
    //          1 - очистить все товары в кассовом аппарате перед применением нового прайса
    //          0 - не очищать предварительно товары в кассовом аппарате    
    Если UniUNSDLL.СоздатьПрайс("20130729", 1) <> 0 Тогда
        // ошибка
        Сообщить(UniUNSDLL.ТекстОшибки);
    КонецЕсли;
          
    /////////////////////////////////////////////////////////////
    // Добавляем номера кассовых аппаратов для каких создаем прайс
    //    1-й параметр - числовой заводской номер аппарата, тип - строка
    //               
    Если UniUNSDLL.ДобавитьУстройствоКПрайсу("4101424321") <> 0 Тогда
        Сообщить(UniUNSDLL.ТекстОшибки);
    КонецЕсли;    
    
    ////////////////////////////////////////////////////////////
    // Добавляем товары в прайс
    //               
    Если 0 <> UniUNSDLL.ДобавитьТовар(
"ШОКОЛАД FRYE ТЕМНЫЙ", // Имя товара  (до 48 символов)
        "1",             // Код товара на аппарате (до 6 символов)
        1578,             // Цена в копейках (макс: 999 999 999)
        9999999,          // Количество в граммах (макс: 9 999 999)
        "1",              // Налоговая группа (АБВГД, 12345)
        "7616500553705",      // Штрих код (до 19 знаков)
        1,              // Признак весового товара
        0            // Запретить продажу «в минус»
                        )
    Тогда
        // ошибка
        Сообщить(UniUNSDLL.ТекстОшибки);
    КонецЕсли;         
    // ...   добавляем еще товары в прайс:
        
    /////////////////////////////////////////////////////////////
    // Отправляем прайс на сервер Reteko
    //               
    Если 0 <> UniUNSDLL.ОтправитьПрайс() Тогда
        // ошибка
        Сообщить(UniUNSDLL.ТекстОшибки);
    Иначе
        Сообщить("Прайс лист успешно отправлен на сервер.");
    КонецЕсли;


4.3. Получаем в 1С все чеки (продажа, возврат, служебные чеки)
Перем ДатаС;
    Перем ДатаПО;
    Перем КоличествоЧеков;
    Перем КоличествоОтчетов;
    
    Перем ЧекКоличествоТоваров;
    Перем ЧекНомерРРО;
    Перем ЧекСумма;
    Перем ЧекДатаВремя;
    Перем ЧекКоличествоОплат; // если по чеку платили и картой, и наличкой, и т.д.
    Перем ЧекИдентификатор; // строка в которой зашифрованы номер аппарата, дата/время чека, и уникальный номер в пределах апппарта
                    // эту строку можно использовать как глобальный идентификатор чека.
    Перем ЧекТип;  //Тип чека:
              //    0 - чек продажи
               //    1 - чек возврата
               //    2 - служебный чек                      
    
    Перем ТоварШтрихКод;
    Перем ТоварКод;
    Перем ТоварИмя;
    Перем ТоварСумма;
    Перем ТоварКоличество;
    Перем ТоварЦена;
    Перем ТоварНалогГруппа; // 1 = А, 2 = Б, и т.д.
    Перем ТоварОтменен;     // Отменена продажи даного товара в чеке

    Перем ОплатаСумма;
    Перем ОплатаТип;       // Число от 0 и дальше (засит от аппарата). 0 - наличные, 1 и дальше ваучер/карта/и т.д.
    Перем ОплатаИмяТипа;   // Может не указыватся
    
    
    ДатаС = Формат(ПолеВводаДатаС, "ДФ=гггг-ММ-дд");    
    ДатаПО= Формат(ПолеВводаДатаПо, "ДФ=гггг-ММ-дд");      
    
    /////////////////////////////////////////////////////////////
    // Получаем все чеки и Z-отчеты
    //      ДатаС, ДатаПО : дата в формате "YYYY-MM-DD-HH", или "YYYY-MM-DD", например:
    //                "2012-10-04" или с часами: "2012-10-04-15"
    //      ПолеВводаНомераРРО - номер кассового аппарата, или нескольких через ";", например:
    //                              "4101235596"
    //                "4101235596;41012357899;410099001"
    Если 0 <> UniUNSDLL.ПолучитьЧеки(ДатаС, ДатаПО, ПолеВводаНомераРРО, КоличествоЧеков, КоличествоОтчетов)
Тогда
        // ошибка
        Сообщить(UniUNSDLL.ТекстОшибки, СтатусСообщения.ОченьВажное);    
    КонецЕсли;
    
    Сообщить("Чеков:"+Строка(КоличествоЧеков)+"  Отчетов:"+Строка(КоличествоОтчетов));
    
    
    ////////////////////////////////////////////////////////////
    // Перебираем все чеки
    Для НомерЧека=1 по Число(КоличествоЧеков) Цикл
        
        Если 0 <> UniUNSDLL.ПолучитьЧекИД(НомерЧека,
                            ЧекКоличествоТоваров,
                            ЧекНомерРРО,
                            ЧекСумма,
                            ЧекДатаВремя,
                            ЧекТип,
                            ЧекКоличествоОплат,
                            ЧекИдентификатор    )
        Тогда
            // ошибка
            Сообщить(UniUNSDLL.ТекстОшибки);
        Иначе
            Сообщить("   Чек:"+Строка(НомерЧека)
+"; Товаров:"+Строка(ЧекКоличествоТоваров)
+"; НомерРРО:"+Строка(ЧекНомерРРО)
+"; Сумма:"+Строка(ЧекСумма)
+ "; Дата:"+Строка(ЧекДатаВремя)
+ "; ТипЧека:"+Строка(ЧекТип)
+ "; ИДЧека:"+Строка(ЧекИдентификатор) );
        КонецЕсли;
                
        ////////////////////////////////////////////////////////////
        // Если чек продажа или возврат, тогда перебираем товары
        Если (ЧекТип = 0) Или (ЧекТип = 1) Тогда
            
            ////////////////////////////////////////////////////////////
            // Перебираем все товары в чеке
            Для НомерТовара=1 по Число(ЧекКоличествоТоваров) Цикл
                Если 0 <> UniUNSDLL.ПолучитьТоварЧека(НомерТовара,
                                        ТоварШтрихКод,
                                        ТоварКод,
                                        ТоварИмя,
                                        ТоварСумма,    //Сумма со скидкой
                                        ТоварКоличество,
                                        ТоварЦена,     //Цена без скидки
                                        ТоварНалогГруппа,
                                        ТоварОтменен
                                        )
                Тогда
                  // ошибка
                  Сообщить(UniUNSDLL.ТекстОшибки, СтатусСообщения.ОченьВажное);    
                Иначе
                    Сообщить("      "+Строка(НомерТовара)
                            +". ШтрихКод:"+Строка(ТоварШтрихКод)
                            +"; Код:"+Строка(ТоварКод)
                            +"; Имя:'"+Строка(ТоварИмя)
                            +"'; Сумма:"+Строка(ТоварСумма)
                            + "; К-во:"+Строка(ТоварКоличество)
                            + "; Цена:"+Строка(ТоварЦена)
                            + "; НДС:"+Строка(ТоварНалогГруппа)
                            + "; Отменен:"+Строка(ТоварОтменен));
                КонецЕсли;    
            
            КонецЦикла;

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

Overall Rating 0
Написать отзыв
Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо