[Решено] Cipherlab 8200. Не получается учет одного товара на нескольких складах и контроль остатков

[Решено] Cipherlab 8200. Не получается учет одного товара на нескольких складах и контроль остатков

Страницы: 1
RSS
[Решено] Cipherlab 8200. Не получается учет одного товара на нескольких складах и контроль остатков, Обсуждение: [Решено] Cipherlab 8200. Не получается учет одного товара на нескольких складах и контроль остатков
 
S/N DQ2503115
KNL 8200K-1.10
LIB 8200L-1.06
USR 8400RU004-JB14

1С 8.1, Розница для Украины, драйвер (ScanCode) 6.0.4.0, генератор приложений 3.61-FH05, обработка ScanCodeCipherLabPDT_v2.epf версии 2.24 - всё скачано на странице терминала. Скорость передачи данных 115200 Кбит/с, свойства полей - разделитель.

Структура учета в нашей организации - у одного магазина может быть несколько складов, например, "Витрина", "Склад", "Резерв" и т.д.
Товар физически находится в одном магазине и товар с одним и тем же штрихкодом одновременно может находиться на разных складах в разном количестве.

На основе Задачи из примеров, создал свою Задачу, получилось 7 полей: (1) штрихкод, (2) товар, (3) и (4) характеристики, (5) цена, (6) склад и (7) количество.
Ожидал, что будет выбор склада для найденных записей с одним штрихкодом но на разных складах.
По факту сканирования показывается тот склад, который первый найден в базе. Т.е. если сортирую склады по возрастанию, находится и показывается запись со кладом "А", если по убыванию - то для этого же штрихкода после сканирования показана запись склада на букву "Я".

Вопросы:
1) Правильно ли я понял - один штрихкод, одна запись? При выгрузке из ТСД выгружаются штрихкод + количество [+ дата/время].

2) Есть ли возможность как-то выбрать, какой склад используется при сканировании? Думал использовать разные базы для каждого склада, но баз в ТСД только 3, а складов больше. Подозреваю, что здесь можно задействовать сущность "Документ", но имею смутное представление об этом.

3) Не понял работу функциональной клавиши "Остатки" (ГП - Форма - Функциональные клавиши). Как инициировать переменные "Переменная1,2,3" и что за остатки будут показаны?

4) Не понял работу поля "Сравнение". Я хочу сравнивать количество товара по формуле "Загруженное из 1С количество" сравнение с "отсканированное количество за несколько итераций".

5) Столкнулся с такими техническими трудностями: если чередовать обращение к ТСД из Генератора Приложений (ГП) и 1С, то в ГП перед загрузкой задачи каждый раз надо устанавливать настройки "Кабель USB VCOM" и порт "COM5 - Virtual port". Иначе происходит ошибка "Таймаут".
Если из 1С с терминалом не делать никаких действий, при работе с терминалом из ГП настройки в ГП менять не надо. Если был сделан обмен с 1С, то перед загрузкой задачи нужно снова менять настройки. Но это второстепенное и "дело привычки".

6) При выгрузке из 1С в центре окна пояа=вляется окно состояния выгрузки с надписью "Осталось ХХХ элементов", хотя на самом деле это должно быть "Передано ХХХ записей". Но это лирика.

7) Разъясните, пожалуйста, две функции: На вкладке "Форма", поле "Запись" - "сохранить в файле", "обновить базу", "сохранить и обновить", "передать в следующую ф[орму]". И на вкладке "Установки" значения поля "7. Дополнительно": "Без сообщений", "показать счетчик", "показать запись".

Если необходимо разбить это собщение на разные топики, я создам новые по каждому вопросу.
 
1. Правильно. Почти...
2. Теперь про почти. Склад выбрать нельзя, но его можно ввести. Тогда в ТСД нужно выгружать в поле ШК конкатенацию строк склада и ШК. Склад вводить на первой форме в переменную, а на второй форме к ШК добавлять этот склад, желательно префиксом. Отбор будет происходить по склад+ШК.
3 и 4. Описано в файле "ChangesAG.pdf", как и остальные фичи.
5. Не лечится. После обмена ТСД отключается и СОМ-порт пропадает из системы. Он появляется, когда ТСД в режиме обмена. Ну и вторая неразрешенная проблема - Windows не дает 2-м программам одновременно работать с одним СОМ-портом.
6. В обработке уберите функцию отображения сообщения на экран. В ней, кстати, и передается направление обмена, для отображения на экране.
7. Обновить - обновляет или добавляет запись в БД, сохранить - добавляет запись в Файл Данных (документ). Второе - это отображение данных после завершения работы с формой. Либо ничего не показывать, либо будет показан счетчик записей в ФД, либо сама сохраняемая запись.
 
Цитата
1. Правильно. Почти...
2. Теперь про почти. Склад выбрать нельзя, но его можно ввести. Тогда в ТСД нужно выгружать в поле ШК конкатенацию строк склада и ШК. Склад вводить на первой форме в переменную, а на второй форме к ШК добавлять этот склад, желательно префиксом. Отбор будет происходить по склад+ШК.
3 и 4. Описано в файле "ChangesAG.pdf", как и остальные фичи.
5. Не лечится. После обмена ТСД отключается и СОМ-порт пропадает из системы. Он появляется, когда ТСД в режиме обмена. Ну и вторая неразрешенная проблема - Windows не дает 2-м программам одновременно работать с одним СОМ-портом.
6. В обработке уберите функцию отображения сообщения на экран. В ней, кстати, и передается направление обмена, для отображения на экране.
7. Обновить - обновляет или добавляет запись в БД, сохранить - добавляет запись в Файл Данных (документ). Второе - это отображение данных после завершения работы с формой. Либо ничего не показывать, либо будет показан счетчик записей в ФД, либо сама сохраняемая запись.

Спасибо!

1. ОК.
2. Теперь всё ясно. Первая форма - заполнение выбранного документа по штрихкоду, кодирующему склад (их максимум до 10, по количеству документов), после этой формы переход на форму ввода количества с поиском товара. Оказывается, всё просто, как-то сразу не догадался.

3. и 4. ОК. Страницы 6-8 и пример на 9-й.
5. ОК. Глупый вопрос был )) После своего вопроса в Диспетчере устройств Windows обнаружил исчезновение устройства при переключении режимов. Про монопольный захват порта я знаю еще со времен телнета и диалап-модемов, но не думал, что если поочередно использовать ТСД из разных приложений, он теряется. Вернее, он отключается после обмена.
6. ОК. Направление пишет правильно, но счетчик - нет: "Осталось получить" и "Осталось передать", счетчик должен делать обратный отсчет, а он идёт по возрастанию.
Добавил в коде обработки такие строки:
Код
[b]Функция ВыгрузитьТаблицу[/b](Объект, ТаблицаВыгрузки) Экспорт

   [b]РазмерТаблицы = ТаблицаВыгрузки.Количество(); // -- моя вставка[/b]
   
   ...
   
   Если Результат = мНетОшибки Тогда
      Счетчик = 0;
      Для Каждого СтрокаТаблицы Из ТаблицаВыгрузки Цикл
         
         ...
         
         Счетчик = Счетчик + 1;
         // Оригинал: Объект.Драйвер.ПоказатьПрогресс(0, Счетчик);
         [b]Объект.Драйвер.ПоказатьПрогресс(0, РазмерТаблицы - Счетчик);[/b]

      КонецЦикла;
      
      ...
      
   КонецЕсли;
   
   Возврат Результат;

КонецФункции // ВыгрузитьТаблицу()

Функция [b]ЗагрузитьТаблицу[/b](Объект, ТаблицаЗагрузки)Экспорт
   
   ...
   
   Результат = НачатьЗагрузку(Объект, КоличествоЗаписей);
   Если Результат = мНетОшибки Тогда
      Для Индекс = 1 По КоличествоЗаписей Цикл
         
         ...
         
         [b]Объект.Драйвер.ПоказатьПрогресс(1, КоличествоЗаписей - Индекс); // -- Моя правка[/b]
      КонецЦикла;
   КонецЕсли;
   
   ...
   
   Возврат Результат;

КонецФункции // ЗагрузитьСтроку()


7. ОК. Сейчас попрактикуюсь.

Вопрос решён.

p.s. Что-то форматирование кода слетело
 
5. Тут больше не микрософта проблема, а реализация. Скорее всего на будущих прошивках порт будет постоянно открыт. Большого криминала я не вижу в этом. Беда только при работе через Bluetooth. Там нужно порт открывать только при обмене.
6. В функцию передается направление и счетчик, а уж какие параметры передадут - dll не виновата. Тут к автору обработки претензии. Кстати, я всегда рекомендовал использовать родные средства 1С для отображение прогресса, а 1С-овцы упорно юзают ПоказатьПрогресс. В будущих версиях уберу эту функцию. Очень уж она нехорошая. Для 95-98 виндов было не критично, а NT-версии как-то не сильно ее любят.
Форматирования никогда и не было. А вообще движок форума отдельная песня. Раньше было на phpBB. Мне нравилось больше.
 
Цитата
Кстати, я всегда рекомендовал использовать родные средства 1С для отображение прогресса, а 1С-овцы упорно юзают ПоказатьПрогресс. В будущих версиях уберу эту функцию. Очень уж она нехорошая. Для 95-98 виндов было не критично, а NT-версии как-то не сильно ее любят.
Дополню для "будущих поколений": штатные средства 1С "Сообщить" и "Состояние" довольно тормознутые, хотя Состояние() шустрей. Использовал прогресс-бар, и наглядно, и быстро.
Страницы: 1