Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: УТ 8.2 + Обработка обслуживания "АТОЛ: Сканер штрихкода"
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Работа с торговым оборудованием
MATEVI
Столкнулся с проблемой. После обновления с 8.1 - 2.3.7.1. на 8.2 - 2.3.12.1 обработка перестала работать. Сама обработка "АТОЛ: Драйвер устройств ввода" версии 6.6.х.
Вернее как бы все подключается, штрих код видит возвращает, но в Чеке ККМ строки не добавляет. По коду понимаю что вроде ОбработатьВнешнееСобытие добавлен параметр Источник,
но никак не могу сообразить что нужно сделать. 44000000.gif

Просто на сконвертированой базе релиза 2.3.7.1, работает все без проблем.

Специалисты по т/о поделитесь опытом.

ЗЫ С торговым оборудованием работал 2 раза и то на 7-ке sad.gif Обычно не берусь за это. Но тут очень надо.
ЗЫЫ Прошу сильно не пинать smile.gif
Zaval
Может, в новом релизе "полнее использованы клиент-серверные технологии"?
Если проблемный код в "Попытке" - то тихо утухнет, ошибки не выдаст...

А Источник здесь ни при чем - у меня, нпр, он используется для отделения событий Астериска по рпинципу "если не Астериск, то сканер ШК", по умолчанию влиять не должен...
Ardi
если что-то тонет "в попытке" - тогда в конфигураторе поставить "Отладка\Остановка по ошибке" и выполнить действия
MATEVI
Та нет вроде. Попытка тут ни причем.
Не так отрабатывают процедуры в СерверТО либо как то События поменяли. Вообщем что то поменяли, а понять что сделать, не могу.

Проблема осложняется тем что надо ехать к сканеру...

Код 2.3.12.1
Функция ОбработатьВнешнееСобытие(Источник, Событие, Данные, Клиент) Экспорт

    Результат = мНетОшибки;

    Клиенты = ПолучитьПараметрСервераТО("Клиенты", "Соответствие");
    События = Клиенты[Клиент];
    Если События <> Неопределено Тогда
        Для Каждого ТекСобытие Из События Цикл
            Если ТекСобытие.Источник   = Источник
               И ТекСобытие.ИмяСобытия = Событие Тогда
                Оборудование = ПолучитьПараметрСервераТО("Оборудование",    "ТаблицаЗначений");
                ТО           = Оборудование.Найти(ТекСобытие.Идентификатор, "Идентификатор");
                ВидТО        = ТО.Вид;
                Обработка    = ТО.Обработка;
                Объект       = ТО.Объект;
                Результат = ОбработатьВнешнееСобытиеВнутр(ВидТО, Обработка, Объект,
                                                          Клиент, Событие, Данные,
                                                          ТекСобытие.Идентификатор);
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;

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

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


Код 2.3.7.1
Функция ОбработатьВнешнееСобытие(Событие, Данные, Клиент) Экспорт

    Результат = мНетОшибки;

    Клиенты = ПолучитьПараметрСервераТО("Клиенты", "Соответствие");
    События = Клиенты[Клиент];
    Если События <> Неопределено Тогда
        ТекСобытие = События.Найти(Событие, "ИмяСобытия");
        Если ТекСобытие <> Неопределено Тогда
            Оборудование = ПолучитьПараметрСервераТО("Оборудование",    "ТаблицаЗначений");
            ТО           = Оборудование.Найти(ТекСобытие.Идентификатор, "Идентификатор");
            ВидТО        = ТО.Вид;
            Обработка    = ТО.Обработка;
            Объект       = ТО.Объект;
            Результат = ОбработатьВнешнееСобытиеВнутр(ВидТО, Обработка, Объект,
                                                Клиент, Событие, Данные,
                                              ТекСобытие.Идентификатор);
        КонецЕсли;
    КонецЕсли;

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

КонецФункции
Batchir
Скиньте куда-то ЦФ-ник 2.3.12.1 (просто у меня нет развенутого), завтра на работе гляну со сканером. Скорее всего там нужно дописать обработку обслуживания, она уже на 2.3.8.2 не работала без доработки.
Batchir
Извиняюсь что долго, завис на внедрении.
В общем выкладываю исправленную обработку
Тестировалась на:
1С:Предприятие 8.2 (8.2.12.96)
Драйвер АТОЛ версии 6.5.399
УТ 2.3.12.1

Ссылка на обработку: необходимо зарегистрироваться для просмотра ссылки
Пароль: pro1c.org.ua
Vladal
Цитата(MATEVI @ 26.10.11, 14:13) необходимо зарегистрироваться для просмотра ссылки
Столкнулся с проблемой. После обновления с 8.1 - 2.3.7.1. на 8.2 - 2.3.12.1 обработка перестала работать. Сама обработка "АТОЛ: Драйвер устройств ввода" версии 6.6.х.


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

Но вот не добавляет строку в документ - в отладчике на смотрел, почему?

Цитата(MATEVI @ 27.10.11, 11:06) необходимо зарегистрироваться для просмотра ссылки
Проблема осложняется тем что надо ехать к сканеру...


Как бы между прочим, сказал я невпопад: Есть внешняя компонента, которая тупо в нужный ком-порт посылает нужные Вам данные.
Очень помогает при отладке, когда нет оборудования.
MATEVI
Ну так поделитесь названием сией компоненты хоть...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.