|
v7: ТСД Cipher 8000 с драйвером Scancode и 1С ТиС 7.70.921. Проблема выгрузки. | ☑ | ||
---|---|---|---|---|
0
dimi3o
19.01.13
✎
16:33
|
Всем привет!
Пытаюсь запустить работу ТСД CipherLab 8000-C на предприятии с 1С 7.7 ТиС 9.2 (7.70.921), который забросили в черный угол 8 лет назад. Использую прошивку Scancode. Поставил ядро: K8000V334. Прошивку: U8000241-IG09. Задачу: 1c_8000 (от 12.08.2009). В задачу никаких изменений не вносил, просто загрузил и всё. Далее в 1С подключаю драйвер версии 6.0.4.0(Scancode). Тут все успешно (При включении 1С одинарный звуковой сигнал от ТСД). В настройках все параметры и порты верные. Но при нажатии кнопки "Выгрузить в ТСД Cipher" в "Справочники.Номенклатура" вылезает следующая ошибка: Документ = Форма.Параметр.Получить("Контекст"); {\EXTFORMS\PRNFORMS\CIPHERLAB.ERT(13)}: Поле агрегатного объекта не обнаружено (Получить) Пробовал даже совсем старую версию драйвера Scancode для 1С от 2004 года. Там форма открывается и даже идет обработка ровно до момента передачи в ТСД, где выдает ошибку: "Терминал сбора данных: ошибка при выгрузке в базу Невозможно перевести терминал в режим загрузки!". Если ввести штрих-код из нашей базы вручную в ТСД при вводе количества и потом заполнить реализацию, то всё без проблем передается и товар находит! Полдела уже есть и очень хотелось бы решить проблему с выгрузкой БД в ТСД. Где то вычитал, что это проблема совместимости версий ТиС, типа редакция 7.70.921 не работает с драйвером последней версии Scancode.ru. Там вроде тестировалось все на 7.70.924 или 7.70.925. Но сейчас база уже работает и все переустановить проблемно. Может кто знает что нужно исправить в коде? Нарыл что объект "параметры" не является списком значений в модуле Номенклатура: Процедура ПоКнопкеПечать() Если ПустоеЗначение(НомерТекущейФормы) = 1 Тогда НомерТекущейФормы = 1; КонецЕсли; Если НомерТекущейФормы = 1 Тогда // ЭТИКЕТКА ПечатьЭтикетки(); ИначеЕсли НомерТекущейФормы = 2 Тогда // ЦЕННИК ПечатьЦенника(); Иначе // внешняя обработка Параметры = глВзятьКонтекст(Контекст); ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм + ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл")); КонецЕсли; КонецПроцедуры // ПоКнопкеПечать() Исправил: Параметры = глВзятьКонтекст(Контекст); на Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(глВзятьКонтекст(Контекст), "Контекст"); Но появилась новая ошибка: Документ.ВыбратьСтроки(); {EXTFORMS\PRNFORMS\CIPHERLAB.ERT(15)}: Поле агрегатного объекта не обнаружено (ВыбратьСтроки) Вот код "CIPHERLAB.ERT" в \PRNFORMS\: Процедура ПриОткрытии() Перем Данные; Параметры = СоздатьОбъект("СписокЗначений"); Параметры.Установить("Процесс", "выгрузить"); Параметры.Установить("Объект" , глТерминал); Документ = Форма.Параметр.Получить("Контекст"); Если ПустоеЗначение(Документ) = 0 Тогда Документ.ВыбратьСтроки(); Данные = СоздатьОбъект("ТаблицаЗначений"); Данные.НоваяКолонка("ШтрихКод"); Данные.НоваяКолонка("Номенклатура"); Данные.НоваяКолонка("Цена"); Данные.НоваяКолонка("Количество"); Пока Документ.ПолучитьСтроку() = 1 Цикл Баркод = Документ.Номенклатура.БазоваяЕдиница.Штрихкод; Если ПустоеЗначение(Баркод) = 1 Тогда Сообщить("Для " + Документ.Номенклатура.Наименование + " нет штрихкода - не выгружаем"); Продолжить; КонецЕсли; Данные.НоваяСтрока(); Данные.ШтрихКод = Баркод; Данные.Номенклатура = Документ.Номенклатура.Наименование; Данные.Цена = Документ.Цена; Данные.Количество = Документ.Количество; //Если ПроверитьШтрихкод(Форма.Штрихкод) = 0 Тогда // Сообщить("У товара """ + Форма.Наименование + """ штрихкод не задан или имеет неверный формат!"); //Иначе // // //КонецЕсли; КонецЦикла; Параметры.Установить("Данные" , Данные); Иначе Параметры.Установить("Данные" , ""); КонецЕсли; //ааа = Форма.Параметр.Получить("Контекст"); РезТекст = глОборудованиеКоманда("Терминал", глТерминалОбработка, Параметры); Если ПустоеЗначение(РезТекст) = 0 Тогда Сообщить(РезТекст); Иначе Если Параметры.Получить("Результат") = 0 Тогда Сообщить("Терминал сбора данных: ошибка при выгрузке в базу"); Сообщить(Параметры.Получить("ОписаниеРезультата")); КонецЕсли; КонецЕсли; // закрываем фому СтатусВозврата(0); КонецПроцедуры // ПриОткрытии Заранее спасибо за помощь! |
|||
1
jbond
19.01.13
✎
16:44
|
напиши собственную прошивку на CipherBasic, будь мужиком, пля!
|
|||
2
dimi3o
19.01.13
✎
16:47
|
(1) Я уже подумываю об этом, потратив полдня на изучение настройки и полдня на поиск решения моей проблемы. Вопрос всё еще в воздухе...
|
|||
3
jbond
19.01.13
✎
16:56
|
(2) - а мы ровно год потратили впустую на внедрение г0вн0софта для WiFi ТСД CipherLab, потом плюнули и написали свое.
чем раньше ты поймешь главную мысль: "нужно все писать самому", тем меньше времени ты потеряешь впустую. стандартные прошивки - это полный отстой, что тайваньский, что московские (да и те с привязкой к железу). Шаг влево, шаг вправо - расстрел на месте, разозленные клиенты, и единственный ответ "я не знаю, почему это не работает, я не могу что-то здесь поменять, т.к. прошивку писал не я, у меня нет доступа к исходным текстам, я не имею доступа к программистам, которые это написали (их может быть вообще уволили), Я НИЧЕГО МОГУ СДЕЛАТЬ" Со своей прошивкой у тебя будет более-менее полный контроль. Ну еще нужно учитывать пару особенностей CipherBasic. |
|||
4
dimi3o
19.01.13
✎
17:05
|
(3) Абсолютно с тобой согласен, только техническими вопросам по 1С и торг.оборудованию в фирме занимаюсь только я. И сколько же интересно я времени потрачу на написание прошивки, задачи, драйвера и всех обработок для 1С? - Очень много!
|
|||
5
jbond
19.01.13
✎
18:14
|
(4) - а это уже проблемы твоей фирмы. У нашей фирмы, внедряющей ERP системы, интеграцией с торговым оборудованием занимается один человек - я. Про остальное я понятия не имею.
|
|||
6
dimi3o
20.01.13
✎
17:26
|
(5) Помогла замена файла CIPHERLAB.ERT из папки \PRNFORMS, на файл CIPHERLAB.ERT для драйвера Scancode от 2004 года.
|
|||
7
dimi3o
21.01.13
✎
19:40
|
Решение оказалось следующим. Заменить это:
Параметры = глВзятьКонтекст(Контекст); на это: Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(ТекущийЭлемент(), "Номенклатура"); в основном модуле номенклатуры "ФормаСписок". В модуле внешней обработки CipherLab.ert ничего не нужно было менять! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |