|
dymy3o
|
|
Тсд Cipher 8000 С Драйвером Scancode И 1с Тис 7.70.921.18.01.2013, 17:41. Показов 11671. Ответов 5
Метки нет (Все метки)
Всем привет!
Пытаюсь запустить работу ТСД 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. Но сейчас база уже работает и все переустановить проблемно. Может кто знает что нужно исправить в коде? Нарыл, что объект "параметры" не является списком значений в модуле Номенклатура: Код ( (Unknown Language)): Процедура ПоКнопкеПечать() Если ПустоеЗначение(НомерТекущейФормы) = 1 Тогда НомерТекущейФормы = 1; КонецЕсли; Если НомерТекущейФормы = 1 Тогда // ЭТИКЕТКА ПечатьЭтикетки(); ИначеЕсли НомерТекущейФормы = 2 Тогда // ЦЕННИК ПечатьЦенника(); Иначе // внешняя обработка Параметры = глВзятьКонтекст(Контекст); ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм + ТаблицаПечФорм.ПолучитьЗначение(НомерТек ущейФормы,"Файл")); КонецЕсли; КонецПроцедуры // ПоКнопкеПечать() Исправил: Код ( (Unknown Language)): Параметры = глВзятьКонтекст(Контекст); на Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(глВзятьКонтек ст(Контекст), "Контекст"); Но появилась новая ошибка: Документ.ВыбратьСтроки(); {EXTFORMS\PRNFORMS\CIPHERLAB.ERT(15)}: Поле агрегатного объекта не обнаружено (ВыбратьСтроки) Вот код "CIPHERLAB.ERT" в \PRNFORMS\: Код ( (Unknown Language)): Процедура ПриОткрытии() Перем Данные; Параметры = СоздатьОбъект("СписокЗначений"); Параметры.Установить("Процесс", "выгрузить"); Параметры.Установить("Объект" , глТерминал); Документ = Форма.Параметр.Получить("Контекст"); Если ПустоеЗначение(Документ) = 0 Тогда Документ.ВыбратьСтроки(); Данные = СоздатьОбъект("ТаблицаЗначений"); Данные.НоваяКолонка("ШтрихКод"); Данные.НоваяКолонка("Номенклатура"); Данные.НоваяКолонка("Цена"); Данные.НоваяКолонка("Количество"); Пока Документ.ПолучитьСтроку() = 1 Цикл Баркод = Документ.Номенклатура.БазоваяЕдиница.Штр ихкод; Если ПустоеЗначение(Баркод) = 1 Тогда Сообщить("Для " + Документ.Номенклатура.Наименование + " нет штрихкода - не выгружаем"); Продолжить; КонецЕсли; Данные.НоваяСтрока(); Данные.ШтрихКод = Баркод; Данные.Номенклатура = Документ.Номенклатура.Наименование; Данные.Цена = Документ.Цена; Данные.Количество = Документ.Количество; //Если ПроверитьШтрихкод(Форма.Штрихкод) = 0 Тогда // Сообщить("У товара """ + Форма.Наименование + """ штрихкод не задан или имеет неверный формат!"); //Иначе // // //КонецЕсли; КонецЦикла; Параметры.Установить("Данные" , Данные); Иначе Параметры.Установить("Данные" , ""); КонецЕсли; //ааа = Форма.Параметр.Получить("Контекст"); РезТекст = глОборудованиеКоманда("Терминал", глТерминалОбработка, Параметры); Если ПустоеЗначение(РезТекст) = 0 Тогда Сообщить(РезТекст); Иначе Если Параметры.Получить("Результат") = 0 Тогда Сообщить("Терминал сбора данных: ошибка при выгрузке в базу"); Сообщить(Параметры.Получить("ОписаниеРез ультата")); КонецЕсли; КонецЕсли; // закрываем фому СтатусВозврата(0); КонецПроцедуры // ПриОткрытии Заранее спасибо за помощь! |
|
| 18.01.2013, 17:41 | |
|
Ответы с готовыми решениями:
5
Проверте пожалуйста сборку блока за 30000 тис (8000 грн) Собрал сборку за 27000 тис.грн.Посоветуйте может что взять лучше?Бюджет-30000 тис Scancode Map клавиш в реестре |
|
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 947
|
|
| 18.01.2013, 23:53 | |
|
* Ошибка не CIPHERLAB.ERT а в головном модуле, а именно какие параметры он дает.
* Судя по смыслу, надо передать документ, но почему-то вложить его в СписокЗначений (может раньше список был большой) * Так и дайте текущий документ. Аллах его ведает, что еще делает ф-ия глВзятьКонтекст()! В урну ее! Код ( (Unknown Language)): Параметры.ДобавитьЗначение(Контекст, "Контекст");
0
|
|
|
dymy3o
|
||
| 19.01.2013, 19:34 | ||
Код ( (Unknown Language)): Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(Контекст, "Контекст"); вместо моего варианта: Код ( (Unknown Language)): Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(глВзятьКонтек ст(Контекст), "Контекст"); чем, в свою очередь, я заменил строку в процедуре ПоКнопкеПечать(): Код ( (Unknown Language)): Параметры = глВзятьКонтекст(Контекст); результат получаем один и тот же: Документ.ВыбратьСтроки(); {K:\ARHIV\ТОРГОВЫЕ\1C\РАБОЧАЯ_РАЗВ(ТА06. 01.13)\EXTFORMS\PRNFORMS\CIPHERLAB.ERT(1 5)}: Поле агрегатного объекта не обнаружено (ВыбратьСтроки) |
||
|
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 947
|
|
| 19.01.2013, 22:49 | |
|
А стажи- ка, мил человек! Этот чертов Контекст является документом?
Процедура ПоКнопкеПечать() находтся в документе? И не надо метаться. В обработке стоит: Код ( (Unknown Language)): Документ = Форма.Параметр.Получить("Контекст"); Документ.ВыбратьСтроки() Значит ей передается именно документ. Варианта всего 2: Код ( (Unknown Language)): Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(Контекст, "Контекст"); ИЛИ Код ( (Unknown Language)): Параметры.ДобавитьЗначение(ТекщийДокумен т(), "Контекст"); При условии, что вызов иди от документа!!! А еще написать перед: Сообщить(ТипЗначенияСтр(Документ)); Документ.ВыбратьСтроки()
0
|
|
|
dymy3o
|
|
| 19.01.2013, 23:32 | |
|
Выгрузка в ТСД - это принтформа, которая вызывается в "ФормаСписок" номенклатуры. Ну это та форма, которая появляется при нажатии кнопочки "номенклатура". Там такая стрелочка внизу со списком принтформ - что распечатать. Ну разработчики ПО Scancode туда закинулы свою принтформу "Выгрузка в ТСД", чтобы передавать всю номенклатуру или её группу в ТСД.
Замечу, что раньше в их драйвере код принтформы выглядел следующим образом: Код ( (Unknown Language)): Процедура ПриОткрытии() Параметры = СоздатьОбъект("СписокЗначений"); Параметры.Установить("Процесс", "выгрузить"); Параметры.Установить("Объект" , глТерминал); //Параметры.Установить("Данные" , Данные); РезТекст = глОборудованиеКоманда("Терминал", глТерминалОбработка, Параметры); Если ПустоеЗначение(РезТекст) = 0 Тогда Сообщить(РезТекст); Иначе Если Параметры.Получить("Результат") = 0 Тогда Сообщить("Терминал сбора данных: ошибка при выгрузке в базу"); Сообщить(Параметры.Получить("ОписаниеРез ультата")); КонецЕсли; КонецЕсли; // закрываем фому СтатусВозврата(0); КонецПроцедуры // ПриОткрытии Тут нет никакого документа и ВыбратьСтроки(). Выгрузка в ТСД проходит, но я очень сомневаюсь в правильности работы процедуры. Не зря же всё-таки люди добавили эти 20 строк кода, спустя 6 лет. ГрупповойКонтекст - вот, что возвращает Сообщить(ТипЗначенияСтр(Документ)); Вот картинка формы-списка номенклатуры с кнопкой "Выгрузить в ТСД" с рабочего стола: |
|
|
dymy3o
|
|
| 20.01.2013, 19:50 | |
|
Решение оказалось следующим. Заменить это:
Код ( (Unknown Language)): Параметры = глВзятьКонтекст(Контекст); на это: Код ( (Unknown Language)): Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(ТекущийЭлемен т(), "Номенклатура"); в основном модуле номенклатуры "ФормаСписок". Спасибо за помощь, Дайнеко! |
|
| 20.01.2013, 19:50 | |
|
Помогаю со студенческими работами здесь
6
Схему усилителя SVEN-HR-921 Cipher Caesar
духовка Zigmund & Shtain EN32.921 S, не реагирует на сенсор Духовка Zigmund Shtain EN 111.921 S, Номинал smd резистора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|