Имя: Пароль:
1C
 
Подключение дисплея покупателя Штрих-Т D2 USB к Рознице 2.1.4.9_версия2
,
0 pers200590
 
06.11.14
14:15
Здравствуйте, уважаемые форумчане. Имеется конфигурация  1С 8.3 Розница 2.1.4.9 и подключенный к ней дисплей покупателя Штрих-Т D2 USB
В 1С подключен  - раздел Администрирование/Насройки подключаемого оборудования/Подключаемое оборудование.устанавливаю тест драйвера дисплея покупателя 2.1.
В тесте драйвера все прекрасно, дисплей видится все отображает корректно (DrvDspl.dll зарегистрировал), но 1с розница 2.1 при настройке дисплея покупателя из программы предлагает установить драйвера и автоматом ставит драйвер "Штрих-LightPOS-Pro 1.2
Вопрос, как подсунуть нужный драйвер?
1 pers200590
 
07.11.14
03:16
опять все молчат
2 Злопчинский
 
07.11.14
03:31
...а кого-ты хотел найти в 3-30 по МСК..?
.
москва гудит по ночным барам и стриптизам.
профинция дрыхнет после вспалывания грядок.
.
остались здесь сейчас одни неадекваты
3 pers200590
 
07.11.14
05:24
(2) кстати верно говоришь, но может кто-то из других городов откликнется
4 pers200590
 
07.11.14
05:25
Сегодня пробовал установить последний бесплатный драйвер от АТОЛА. В итоге в тесте драйвере все работает. А в Рознице 2.1 молчит, хоть и подключен  в разделе  Администрирование/Настройки подключаемого оборудования/Подключаемое оборудование
5 pers200590
 
07.11.14
11:46
ау
6 pers200590
 
07.11.14
14:05
а вот модуль подключения


#Область ПрограммныйИнтерфейс

// Функция осуществляет подключение устройства.
//
Функция ПодключитьУстройство(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры) Экспорт

    Результат = Истина;

    ВыходныеПараметры = Новый Массив();

    ПараметрыПодключения.Вставить("ИДУстройства", "");

    // Проверка настроенных параметров
    Порт              = Неопределено;
    Скорость          = Неопределено;
    Четность          = Неопределено;
    БитыДанных        = Неопределено;
    СтопБиты          = Неопределено;
    Кодировка         = Неопределено;
    ЗагружатьШрифты   = Неопределено;
    Модель            = Неопределено;
    РазмерДисплея     = Неопределено;

    Параметры.Свойство("Порт",            Порт);
    Параметры.Свойство("Скорость",        Скорость);
    Параметры.Свойство("Четность",        Четность);
    Параметры.Свойство("БитыДанных",      БитыДанных);
    Параметры.Свойство("СтопБиты",        СтопБиты);
    Параметры.Свойство("Кодировка",       Кодировка);
    Параметры.Свойство("ЗагружатьШрифты", ЗагружатьШрифты);
    Параметры.Свойство("Модель",          Модель);
    Параметры.Свойство("РазмерДисплея",   РазмерДисплея);

    Если Порт              = Неопределено
     Или Скорость          = Неопределено
     Или Четность          = Неопределено
     Или БитыДанных        = Неопределено
     Или СтопБиты          = Неопределено
     Или Кодировка         = Неопределено
     Или ЗагружатьШрифты   = Неопределено
     Или Модель            = Неопределено Тогда
        ВыходныеПараметры.Добавить(999);
        ВыходныеПараметры.Добавить(НСтр("ru='Не настроены параметры устройства.
        |Для корректной работы устройства необходимо задать параметры его работы.
        |Сделать это можно при помощи формы ""Настройка параметров"" модели
        |подключаемого оборудования в форме ""Подключение и настройка оборудования"".'"));

        Результат = Ложь;
    КонецЕсли;

    Если Результат Тогда
        ОбъектДрайвера.ДобавитьУстройство();
        Если ОбъектДрайвера.Результат = 0 Тогда
            ПараметрыПодключения.ИДУстройства = ОбъектДрайвера.НомерТекущегоУстройства;

            ОбъектДрайвера.НаименованиеТекущегоУстройства = Параметры.Модель;
            ОбъектДрайвера.Модель                         = ПолучитьКодПротокола(Параметры.Модель);
            ОбъектДрайвера.БитыДанных                     = Параметры.БитыДанных;
            ОбъектДрайвера.ЗагружатьШрифты                = Параметры.ЗагружатьШрифты;
            ОбъектДрайвера.НомерПорта                     = Параметры.Порт;
            ОбъектДрайвера.СкоростьОбмена                 = Параметры.Скорость;
            ОбъектДрайвера.СтопБиты                       = Параметры.СтопБиты;
            ОбъектДрайвера.Четность                       = Параметры.Четность;
            ОбъектДрайвера.НаборСимволов                  = Параметры.Кодировка;

            ОбъектДрайвера.УстройствоВключено = 1;
            Если ОбъектДрайвера.Результат <> 0 Тогда
                ВыходныеПараметры.Добавить(999);
                ВыходныеПараметры.Добавить(ОбъектДрайвера.ОписаниеРезультата);
                Результат = Ложь;
                
                ОбъектДрайвера.УдалитьУстройство();
                ПараметрыПодключения.ИДУстройства = Неопределено;
            Иначе
                КолвоСтрок         = ОбъектДрайвера.КолвоСтрокДисплея;
                КолвоСтолбцов    = ОбъектДрайвера.КолвоСтолбцовДисплея;
                ОбъектДрайвера.СоздатьОкно(0, 0, КолвоСтрок + 1, КолвоСтолбцов, КолвоСтрок + 1, КолвоСтолбцов);
            КонецЕсли;
        КонецЕсли;

        Если Результат Тогда
            ОбъектДрайвера.УстройствоВключено = 1;
            Если ОбъектДрайвера.Результат <> 0 Тогда
                ВыходныеПараметры.Добавить(999);
                ВыходныеПараметры.Добавить(ОбъектДрайвера.ОписаниеРезультата);
                Результат = Ложь;
                
                ОбъектДрайвера.УстройствоВключено = 0;
                ОбъектДрайвера.УдалитьУстройство();
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;

    Возврат Результат;

КонецФункции

// Функция осуществляет отключение устройства.
//
Функция ОтключитьУстройство(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры) Экспорт

    Результат = Истина;

    ВыходныеПараметры = Новый Массив();

    ОбъектДрайвера.НомерТекущегоУстройства = ПараметрыПодключения.ИДУстройства;
    ОбъектДрайвера.УстройствоВключено = 0;
    ОбъектДрайвера.УдалитьУстройство();

    Возврат Результат;

КонецФункции

// Функция получает, обрабатывает и перенаправляет на исполнение команду к драйверу
//
Функция ВыполнитьКоманду(Команда, ВходныеПараметры = Неопределено, ВыходныеПараметры = Неопределено,
                         ОбъектДрайвера, Параметры, ПараметрыПодключения) Экспорт

    Результат = Истина;

    ВыходныеПараметры = Новый Массив();

    // Вывод строк на дисплей
    Если Команда = "ВывестиСтрокуНаДисплейПокупателя" ИЛИ Команда = "DisplayText" Тогда
        СтрокаТекста = ВходныеПараметры[0];
        Результат = ВывестиТекст(ОбъектДрайвера, Параметры, ПараметрыПодключения, СтрокаТекста, ВыходныеПараметры);

    // Очистка дисплея
    ИначеЕсли Команда = "ОчиститьДисплейПокупателя" ИЛИ Команда = "ClearText" Тогда
        Результат = ОчиститьТекст(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);

    // Тестирование устройства
    ИначеЕсли Команда = "ТестУстройства" ИЛИ Команда = "CheckHealth" Тогда
        Результат = ТестУстройства(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);
    // Получить параметры вывода    
    ИначеЕсли Команда = "ПолучитьПараметрыВывода" Тогда
        Результат = ПолучитьПараметрыВывода(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);
    // Получение версии драйвера
    ИначеЕсли Команда = "ПолучитьВерсиюДрайвера" Тогда
        Результат = ПолучитьВерсиюДрайвера(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);
        
    // Указанная команда не поддерживается данным драйвером
    Иначе
        ВыходныеПараметры.Добавить(999);
        ВыходныеПараметры.Добавить(НСтр("ru='Команда ""%Команда%"" не поддерживается данным драйвером.'"));
        ВыходныеПараметры[1] = СтрЗаменить(ВыходныеПараметры[1], "%Команда%", Команда);
        Результат = Ложь;

    КонецЕсли;

    Возврат Результат;

КонецФункции

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

// Функция осуществляет вывод списка строк на дисплей покупателя
//
Функция ВывестиТекст(ОбъектДрайвера, Параметры, ПараметрыПодключения, СтрокаТекста, ВыходныеПараметры)

    Результат = Истина;

    ОбъектДрайвера.НомерТекущегоУстройства = ПараметрыПодключения.ИДУстройства;    
    
    КолвоСтолбцов     = ОбъектДрайвера.КолвоСтолбцовДисплея;
    СтрокаТекстаВрем = МенеджерОборудованияКлиент.ПостроитьПоле(СтрПолучитьСтроку(СтрокаТекста, 1), КолвоСтолбцов)
                     + МенеджерОборудованияКлиент.ПостроитьПоле(СтрПолучитьСтроку(СтрокаТекста, 2), КолвоСтолбцов);
    
    Результат = (ОбъектДрайвера.ПоказатьТекст(СтрокаТекстаВрем, 0) = 0);
    Если Не Результат Тогда
        ВыходныеПараметры.Добавить(999);
        ВыходныеПараметры.Добавить(ОбъектДрайвера.ОписаниеРезультата);
    КонецЕсли;

    Возврат Результат;

КонецФункции

// Функция осуществляет очистку дисплея покупателя
//
Функция ОчиститьТекст(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры)

    Результат = Истина;

    ОбъектДрайвера.НомерТекущегоУстройства = ПараметрыПодключения.ИДУстройства;

    ОбъектДрайвера.Очистить();

    Возврат Результат;

КонецФункции

// Функция возвращает параметры вывода на дисплей покупателя
//
Функция ПолучитьПараметрыВывода(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры)

    Результат = Истина;
    ВыходныеПараметры.Очистить();
    
    Если Параметры.РазмерДисплея = 0 Тогда
        ВыходныеПараметры.Добавить(20);
        ВыходныеПараметры.Добавить(2);
    ИначеЕсли Параметры.РазмерДисплея = 0 Тогда
        ВыходныеПараметры.Добавить(16);
        ВыходныеПараметры.Добавить(1);
    Иначе    
        ВыходныеПараметры.Добавить(26);
        ВыходныеПараметры.Добавить(2);    
    КонецЕсли;    
        
    Возврат Результат;

КонецФункции

// Функция осуществляет тестирование устройства.
//
Функция ТестУстройства(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры)

    Результат = Истина;

    Результат = ПодключитьУстройство(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);

    Если Не Результат Тогда
        ВыходныеПараметры.Добавить(999);
        ВыходныеПараметры.Добавить(НСтр("ru='Ошибка при подключении устройства'"));
    Иначе                  
        СтрокаТекста = НСтр("ru='Тестовая строка 1'") + Символы.ПС + НСтр("ru='Тестовая строка 2'") + Символы.ПС + НСтр("ru='Тестовая строка 3'");

        ВывестиТекст(ОбъектДрайвера, Параметры, ПараметрыПодключения, СтрокаТекста, ВыходныеПараметры);
        МенеджерОборудованияКлиент.Пауза(5);

        ВыходныеПараметры.Добавить(0);
        ВыходныеПараметры.Добавить(НСтр("ru='Тест успешно выполнен'"));
    КонецЕсли;

    ОтключитьУстройство(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);

    Возврат Результат;

КонецФункции

// Функция возвращает версию установленного драйвера
//
Функция ПолучитьВерсиюДрайвера(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры)

    Результат = Истина;

    ВыходныеПараметры.Добавить(НСтр("ru='Установлен'"));
    ВыходныеПараметры.Добавить(НСтр("ru='Не определена'"));

    Попытка
        ВыходныеПараметры[1] = ОбъектДрайвера.Версия;
    Исключение
    КонецПопытки;

    Возврат Результат;

КонецФункции

// Возвращает по наименованию модели код протокола устройства
//
Функция ПолучитьКодПротокола(Модель)

    КодПротокола = 0;

    Протоколы = Новый Соответствие;
    Протоколы["Datecs DPD-201"]          = 0;
    Протоколы["EPSON-совместимый"]       = 1;
    Протоколы["Меркурий ДП-01"]          = 2;
    Протоколы["Меркурий ДП-02"]          = 3;
    Протоколы["Меркурий ДП-03"]          = 4;
    Протоколы["Flytech"]                 = 5;
    Протоколы["GIGATEK DSP800"]          = 6;
    Протоколы["GIGATEK DSP850A"]         = 6;
    Протоколы["Штрих-FrontMaster"]       = 7;
    Протоколы["EPSON-совместимый (USA)"] = 8;
    Протоколы["Posiflex PD2300 USB"]     = 9;
    Протоколы["IPC"]                     = 10;
    Протоколы["GIGATEK DSP820"]          = 11;
    Протоколы["TEC LIUST-51"]            = 12;
    Протоколы["Демо-дисплей"]            = 255;

    Попытка
        КодПротокола = Протоколы[Модель];
    Исключение
    КонецПопытки;

    Возврат КодПротокола;

КонецФункции

#КонецОбласти
7 pers200590
 
07.11.14
14:34
не ужели ни кто не сталкивался
8 pers200590
 
08.11.14
13:45
ап
9 Garykom
 
гуру
08.11.14
14:04
(4) Когда это драйвер от ATOL стал бесплатным для чужого оборудования да еще и основного конкурента (ШТРИХ-М)?

Если ПД штриховый то и драйвер юзай от штриха

Если не пашет то либо что то неправильно делаешь, либо звонить в поддержку Раруса или Штриха
10 pers200590
 
08.11.14
14:24
(9) в штрихе сказали обращаться в 1С
11 Garykom
 
гуру
08.11.14
14:36
(10) А они случаем не сказали или может где написано насчет совместимости данного ПД с 1С: Розница?

И еще в (0) не понял какие драйвера и куда/откуда подключаешь...

Т.е. как

"В 1С подключен  - раздел Администрирование/Насройки подключаемого оборудования/Подключаемое оборудование.устанавливаю тест драйвера дисплея покупателя 2.1.
В тесте драйвера все прекрасно, дисплей видится все отображает корректно (DrvDspl.dll зарегистрировал)"

соотносится с

"но 1с розница 2.1 при настройке дисплея покупателя из программы предлагает установить драйвера и автоматом ставит драйвер "Штрих-LightPOS-Pro 1.2"
12 Garykom
 
гуру
08.11.14
14:37
(11) Т.е. какие драйвера то поставил? С диска/сайта штрих или которые у Розницы встроенны?
13 pers200590
 
08.11.14
14:50
(12) установлены были те , которые встроены в розницу
14 pers200590
 
08.11.14
14:51
но с ними не работает в 1с, а через тест драйвера и того и других дров все работает
15 Garykom
 
гуру
08.11.14
15:12
МММ, тогда наверно глупый вопрос а рабочее место то настроено? В смысле 1С-ка устройство то заюзает или нет

Сравнить с тем же фискальником или эквайринговым терминалом они подклбчаются и работают?
16 Garykom
 
гуру
08.11.14
15:13
(15)+ т.е. 1С-ка никакую ошибку не пишет?
17 Torquader
 
08.11.14
17:08
У Штрих-М был драйвер для дисплея, который умел быть OLE-объектом и писать в COM-порт, при переводе дисплея в режим эммуляции USB другого и не надо.
18 pers200590
 
09.11.14
02:58
(15) да фискальник и сканер работают и настроены на рабочем месте
19 pers200590
 
09.11.14
02:59
с драйвером понятно все почему в 1с не работает
20 pers200590
 
09.11.14
11:17
в УТ 11.1 тоже самое дисплей не работает
21 pers200590
 
12.11.14
13:34
ау, форумчане неужели ни кто не сталкивался с такой проблемой
22 pers200590
 
13.11.14
05:53
получается, что дисплей не работает в режиме РМК в конфигурациях Розница 2.0, 2.1 и УТ 11
23 pers200590
 
16.11.14
14:52
ап
24 Garykom
 
гуру
16.11.14
18:24
(23) если в описании этого дисплея заявлена совместимость с 1С (конкретно розницей или ут) а по факту ее нет, то возвращай его назад и берите совместимые

ЗЫ но если есть совместимость с 1С (есть пример подключения в виде внешней обработки или конфы тестовой) то могут отказаться принимать назад и придется оттуда выдирать способ работы и вставлять самим в розницу
25 pers200590
 
17.11.14
14:21
а где можно посмотреть про совместимость
26 pers200590
 
17.11.14
14:23
И еще вопрос про написание обработки обслуживания. где можно прочитать по написанию обработки обслуживания на платформе 8.2 и 8.3
27 Garykom
 
гуру
17.11.14
19:56
(25) - а зачем такие дисплеи то купили? производителю...
(26) - а почему к специалистам не обратиться? любая типовая...
28 pers200590
 
18.11.14
10:59
к сожелению в приморском крае только такие в продаже
29 Torquader
 
18.11.14
11:13
(28) Так в рознице дисплей может работать только в режиме РМК - он что - там не работает ?
Если не ставится драйвер, то в случае ПРОФ-версии, можно "засунуть" другой драйвер и немного переписать обработку вызова.
30 pers200590
 
18.11.14
15:01
(29)В режиме РМК он просто молчит, т.е никаких надписей на дисплее нет.Да верно там можно засунуть свой драйвер опишите как ?  И как переписать
31 pers200590
 
18.11.14
15:01
вот что нашел, скажите есть ли ошибки?
&НаСервере
Процедура Команда1НаСервере()
дрв = Новый COMОбъект("DrvDspl.v1_2");
дрв.InitialDispl();
дрв.ClearDispl();
дрв.EnterStr(0,"Добро пожаловать!");
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
//Команда1НаСервере();
дрв = Новый COMОбъект("DrvDspl.v1_2");
дрв.InitialDispl();
дрв.ClearDispl();
дрв.EnterStr(0,"Добро пожаловать!");
КонецПроцедуры
32 Garykom
 
гуру
18.11.14
16:35
(31) молодца, терь засунь это... куда нуна
33 Garykom
 
гуру
18.11.14
16:38
(32)+ тока учти обычно ком-объект принято при начале использования 1 раз подключать, а при окончании использования 1 раз отключать и обнулять

При начале это при запуске обычно, а при окончании это при закрытии программы
34 pers200590
 
19.11.14
14:42
ну а куда это засунуть в ут 11 или рознице 2.1
35 Garykom
 
гуру
19.11.14
17:53
(34) ну наверно куда то туда http://its.1c.ru/db/metod8dev/content/4829/hdoc
36 pers200590
 
22.11.14
13:28
форумчане, неужели никто не подключал дисплеи покупателя
37 ivanov-i-i
 
22.11.14
15:03
(36) А шаблон работы дисплея покупателя настроил?
38 ivanov-i-i
 
22.11.14
15:09
+(37) Посмотри здесь: https://yadi.sk/i/RRRDxpXLcs6zE
39 pers200590
 
24.11.14
08:24
(370 шаблон работы дисплея покупателя настроен
40 pers200590
 
25.11.14
12:12
ау
41 pers200590
 
27.11.14
08:28
уважаемые форумчане, дайте толчок . очень актуально
42 pers200590
 
27.11.14
08:42
уже были пепепробованы бесплатные и платные драйвера ТО от АТОЛА, драйвера от ШТРИХА.
Если писать свою обработку обслуживания и встраивать ее в РОзницу. То по каким стандартам. Кто подключал такие дисплеи отзовитесь
43 pers200590
 
28.11.14
15:21
неужели никто не сталкивался
44 pers200590
 
29.11.14
13:16
поднимаю тему
45 Garykom
 
гуру
29.11.14
13:19
блин код из (31) если он пашет воткни в арм кассира после добавления позиции в чек, это чтобы не писать драйвер по стандартам
46 Garykom
 
гуру
29.11.14
13:20
(45)+ ну или обратится к специалистам... ))
47 pers200590
 
29.11.14
13:34
(45) код не пашет
48 pers200590
 
29.11.14
13:35
(46) я пытаюсь обратится к специалистам. но увы таких нет кто бы подсказал
49 Мимохожий Однако
 
29.11.14
13:39
В Штрих-М пробовал обращаться? У них на сайте есть форум, который посещают спецы от Штрих-М.
50 Garykom
 
гуру
29.11.14
13:42
(48) обратиться к специалистам это значит нанять за $ ну или р.
51 Garykom
 
гуру
29.11.14
13:42
бесплатно тут уже все что можно посоветовали ))
52 pers200590
 
29.11.14
13:49
(49) пробовал, по программированию в 1с сказали  обращаться в 1С
53 pers200590
 
29.11.14
13:50
(51) то что советовали уже испробовал сам
54 pers200590
 
29.11.14
13:50
хочется разобраться
55 Garykom
 
гуру
29.11.14
13:54
а поиск пробовал? типа http://forum.shtrih-m.ru/viewtopic.php?f=1&t=26417 читал?
56 Garykom
 
гуру
29.11.14
13:57
ну или в атол обратиться насчет работы этого дисплея в платной версии драйвера?
57 pers200590
 
29.11.14
14:08
везде посылают в 1с
58 pers200590
 
29.11.14
14:10
вот еще моя тема http://forum.infostart.ru/forum40/topic115020/
59 Мимохожий Однако
 
29.11.14
15:12
Пробовал подключиться в обработку отладчиком?
60 pers200590
 
29.11.14
15:24
(59) Да, результатов нет
61 Garykom
 
гуру
29.11.14
19:29
Предлагаю вариант, разработка обработки для подключения к Рознице (или УТ) в обмен на такой дисплей покупателя.

Т.е. сделал бы обработку обслуживания чтобы на том же инфостарте выложить (почти бесплатно) но не покупать же этот дисплей...вот если пришлете сделаю за нескоко дней
62 Garykom
 
гуру
29.11.14
19:30
(61) дисплей потом верну, если пересылку отплатите
63 pers200590
 
23.12.14
14:23
ау, форумчане откликнитесь пожалуйста
64 pers200590
 
23.12.14
14:39
неужели никто не подключал
65 pers200590
 
24.12.14
09:50
я прошу помощи
66 Garykom
 
гуру
24.12.14
15:13
Тебе помощь уже предложили.

Или хочешь чтобы написали Вам бесплатно обработку-драйвер да еще и не имея оборудования?
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.