8.х Упаковка при использовании сканера ШК

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем ACID, 6 июн 2008.

  1. TopicStarter Overlay
    ACID
    Offline

    ACID

    Регистрация:
    29 май 2008
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Суть такая. В УТ8.1 при поступлении используется сканер. Товар весовой. ШК имеет вид 63ТТТТТВВВВВК
    т- код весового товара
    в- вес товара
    к- контрольная сумма
    Учет товара соответственно ведется в кг. Но расфасован в коробках, которые в свою очередь делятся на 5кг 10кг и 25кг. Вес конечно может отличаться от номинального.
    B) И вот вопрос - Как учесть вид упаковки и его количество используя только сканер?

    PS... На коробке есть еще какой-то ШК помоему там больше 20 цифр... Как его использовать я незнаю, единтсвенное что знаю в нем имеется дата упаковки.

    В модуле обработки есть текст где проверяется код на соответствие ITF14.
    При совпадении формируется запрос который ссылается на справочник ТранспортныеУпаковки, которого нет и помине. :unsure:
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Что за конфа? Для разных единиц измерения задаются разные ШК
  3. murat
    Offline

    murat

    Регистрация:
    6 сен 2007
    Сообщения:
    48
    Симпатии:
    0
    Баллы:
    1
    1) А с каких пор весовой ШК имеет префикс 63... ?!
    Если не хотите чтобы ваш ШК потом не пере######я с другим товаром, лучше сделать как все нормальные люди: префиксы 20... - 29... специально используются внутри предприятия.

    2)
    На вашем месте я вобще бы поменял учетную единицу измерения на коробки с разными весовыми коэффициентами и соответственно разные ШК, если конечно не предполагается распаковыввать коробки.

    3) Если предыдущий вариант совсем не подходит вам - то остается только присвоить разные префиксы для коробок 5, 10, 25кг используя весовой ШК.
  4. TopicStarter Overlay
    ACID
    Offline

    ACID

    Регистрация:
    29 май 2008
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Конфа УТ 10.3.3.3
    в ней немного покапался и нашел, что и тут за весовой принимается ШК с префиксом 2.
    А у этой фирмы поставщики колбасные комбинаты и они печатают ШК вида 63ТТТТТВВВВВК.
    Причем ВВВВВ совпадает с фактическим весом.
    В конфе я поменял "2" на "6" в настройка учета поставил префикс "3" длина кода "5", и товар начал нормально считываться и записываться в таблицу с весом в колонке количество.
    После прихода могут продать и коробкой либо расфасовать и продавать кг.
    А в ТОРГ-12 должны заполнятся колонки 6-8. Вобщем задачка не простая стоит.

    Когда ковырялся в кодах обработчика нашел следующее!!!
    Есть такая проверка
    Код:
    ЭтоITF14 = РаботаСТорговымОборудованием.ТипШтрихкодаITF14ТО(ШК);
    
    
    И дальше по коду...
    Если ITF14 Тогда выполняется запрос, который обращается к....
    Код:
    "ВЫБРАТЬ ПЕРВЫЕ 1
    |    РегШК.Владелец                   КАК Номенклатура,
    |    РегШК.ЕдиницаИзмерения           КАК ЕдиницаИзмерения,
    |    РегШК.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |    РегШК.СерияНоменклатуры          КАК СерияНоменклатуры,
    |    ВЫБОР
    |        КОГДА РегШК.Качество = &КачествоПустаяСсылка ТОГДА
    |            &КачествоНовый
    |        ИНАЧЕ
    |            РегШК.Качество
    |    КОНЕЦ                            КАК Качество,
    |    СпрУпаковки.Коэффициент          КАК Количество,
    |    СпрУпаковки.Ссылка               КАК Упаковка
    |ИЗ
    |    РегистрСведений.Штрихкоды        КАК РегШК,
    |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    |        Справочник.ТранспортныеУпаковки КАК СпрУпаковки
    |        ПО СпрУпаковки.Владелец = РегШК.ЕдиницаИзмерения.Ссылка
    |           И СпрУпаковки.Код    = &КодУпаковки
    |ГДЕ
    |    РегШК.ТипШтрихкода      = &ТипEAN13
    |    И РегШК.Штрихкод        = &Штрихкод");
    Запрос.УстановитьПараметр("КачествоПустаяСсылка", мКачествоПустаяСсылка);
    Запрос.УстановитьПараметр("КачествоНовый",        мКачествоНовый);
    Запрос.УстановитьПараметр("ТипEAN13",             мEAN13);
    Запрос.УстановитьПараметр("Штрихкод",             ШКEAN13);
    Запрос.УстановитьПараметр("КодУпаковки",          КодСимвола(ШК) - 48);
    РезультатЗапроса = Запрос.Выполнить();
    
    
    Он выполняется когда вводим код например такой 22006660666020 (стандартный ШК транспортной упаковки ITF14).
    В типовой конфе вылазеет сообщенио об ошибке в коде.
    Я как не старался не нашел справочника ТранспортныхУпаковок.
    ===============================

    Как дальше жить........
  5. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Справочник "транспортные упаковки" есть в УПП, видимо в УТ просто скопировали код :)
  6. TopicStarter Overlay
    ACID
    Offline

    ACID

    Регистрация:
    29 май 2008
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Икак же быть?
    Кстати в описании предыдущей УТ чтото было про эти упаковки...
  7. TopicStarter Overlay
    ACID
    Offline

    ACID

    Регистрация:
    29 май 2008
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Начал писать свои упаковки с EAN128
  8. brown_eyed
    Offline

    brown_eyed

    Регистрация:
    28 фев 2011
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Можешь кинуть текст функции РаботаСТорговымОборудованием.ТипШтрихкодаITF14ТО(ШК)?

    Можешь кинуть текст функции
    Код:
     РаботаСТорговымОборудованием.ТипШтрихкодаITF14ТО(ШК)
    
  9. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Код:
    Функция ТипШтрихкодаITF14ТО(Штрихкод) Экспорт
    
    Результат   = Ложь;
    Сумма       = 0;
    Коэффициент = 3;
    
    Если СтрДлина(Штрихкод) = 14 Тогда
    Индекс = Неопределено;
    Для Индекс = 1 По 13 Цикл
    КодСимв = КодСимвола(Штрихкод, Индекс);
    Если КодСимв < 48 Или КодСимв > 57 Тогда
    Возврат Результат;
    КонецЕсли;
    Сумма       = Сумма + Коэффициент * (КодСимв - 48);
    Коэффициент = 4 - Коэффициент;
    КонецЦикла;
    Сумма     = (10 - Сумма % 10) % 10;
    Результат = (КодСимвола(Штрихкод, 14) = Сумма + 48);
    КонецЕсли;
    
    Возврат Результат;
    
    КонецФункции // ТипШтрихкодаITF14ТО()
    
    

Поделиться этой страницей