Кое-что простое о сложных штрих-кодах

28.09.18

Учетные задачи - Розничная торговля

На просторах и-нета часто встречаю публикации, в которых авторы с энтузиазмом рассказывают о том, как в штрих-код внести информацию о нескольких сущностях: например, как сделать, чтобы при сканировании одного штрих-кода на ярлыке товара, 1С определяла что это за товар, его качество и приходную накладную по которой этот товар поступил. Увы, но делается это "в лоб". Я предлагаю более разумный способ. Он очевиден - так что не претендую на лавры первооткрывателя.

Скачать файлы

Наименование Файл Версия Размер
Конфигурация со "сложными" штрих-кодами:
.cf 8,51Mb
10
.cf 1.1 8,51Mb 10 Скачать

Итак, постановка задачи. В один штрих-код ввести информацию, по которой можно получить такие данные:

  • Товар ("Кровать "Антара"")
  • Качество товара ("Брак, некомплект производителя")
  • Приходная накладная ("РЛ-000824 от 12.09.2018")

Как правило, предлагается такой путь: для каждой сущности задаем кодировку: для полей "товар" и "качество" - это будет код 1С, для "Приходной накладной" - номер:

  • Товар ("Кровать "Антара"") - "0000345"
  • Качество товара ("Брак, некомплект производителя") - "005"
  • Приходная накладная ("РЛ-000824 от 12.09.2018") - "РЛ-000824"

Теперь собираем штрих-код: "0000345_005_РЛ-000824" кодируем его в code128 и все готово - при сканировании 1С должна распарсить полученную строку и извлечь из нее все требуемые данные. Все очень просто и очень НЕПРАВИЛЬНО. Вот причины:

  1. Если кто-то изменит кодировку элементов справочников 1С, то штрих-кода в лучшем случае не будут читаться вовсе, а в худшем - будет определяться неверный объект базы 1С
  2. Что делать, если каждый год нумерация документов начинается с "0000001"? Тогда номера накладной недостаточно - надо указывать еще одно поле - период данной накладной. Но даже это не спасет в случае, если накладную сделают 29.12.2017, распечатают штрих-кода, а потом перенесут накладную в 2018 год
  3. Что делать, если в штрих-код надо вставить 8 разных сущностей (реальный пример из моей практики СЭД)? Длины даже code128 будет недостаточно. Можно, конечно, использовать QR-код, но это означает, что надо покупать более дорогое оборудование (принтера и сканеры) 
  4. code128 намного больше, чем EAN13 - нужна этикетка большого размера, что увеличивает вероятность ее повреждения при хранении и транспортировке товара.
  5. Что делать, если в штрих-код надо вставить не объект из базы 1С, а строку, например адрес получателя посылки без КЛАДРа, например в Великобритании: "Salisbury, Castlt st, 18, mr. Skripal"? Но при этом очень хочется, чтобы Британская разведка MI6 при сканировании этого кода в блокнот или ворлд не получила этот адрес в таком открытом виде.

Вот правильное решение:

1. Создаем справочник "УниверсальныеШтрихкода" (почему именно справочник, а не регистр сведений - это тема отдельной статьи):

Здесь "Парам1", "Парам2",..."Парам9" - это то, что "зашито" в наш штрих-код. Тип этих полей - составной, т.е. там и "Строка" и "Число" и "Булево" и "Дата" и "СсылкаНаПроизвольныйСправочник" и "СсылкаНапроизвольныйДокумент" и "СсылкаНаПеречисление" и все-все-все, что можно отметить галками в свойствах поля.

"Тип" - это строка, по которой 1С будет понимать, какие сущности находятся в параметрах. Например, если Тип = "Товар", то в "Параметре1" содержится ссылка на справочник "Номенклатура", а в "Параметре2" - ссылка на справочник "Качество", а в "Параметре3" - ссылка на документ "ПоступлениеТоваровУслуг". В тестовой конфигурации, приаттаченной к этой статье, "Тип" = "ОС", а это означает, что в "Параметре1" находится ссылка на справочник "ОсновныеСредства", а в "Параметре2" - ссылка на справочник "ИнвентарныеНомера" (одному моему заказчику понадобилась система учета основных средств без сквозной нумерации инвентарных номеров. Пример: на предприятии есть 30 одинаковых ОС "Шкаф электрический 2eu45" и надо, что бы их нумерация была от "000001" до "000030". И так по всем однотипным ОС) 

"Представление" - строковое описание данного штрих-кода. Я обычно вывожу его под самим штрих-кодом, для нашего примера это может быть: "Кровать "Антара", брак н/п, РЛ-000824". Это поле ни на что не влияет. Нужно для сотрудников, которые по данному описанию могут быстро ориентироваться в товарах.

"Код" нашего справочника - это Число длиной 13, т.е. это и есть наш штрих-код в кодировке EAN13. При создании элементов справочника надо позаботиться о том, чтобы он заполнялся корректно.

Для этого в модуле формы этого справочника определим процедуру: 

Процедура ПриУстановкеНовогоКода(СтандартнаяОбработка, Префикс)
    СтандартнаяОбработка = Ложь;
    
    МаксКод
= "5 000 000 000 000";
    
    Запрос
= Новый Запрос;
    Запрос.Текст = 
      
 "ВЫБРАТЬ ПЕРВЫЕ 1
        |    УниверсальныйШтрихКод.Код КАК Код
        |ИЗ
        |    Справочник.УниверсальныйШтрихКод КАК УниверсальныйШтрихКод
        |
        |УПОРЯДОЧИТЬ ПО
        |    Код УБЫВ"
;
    
    РезультатЗапроса
= Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи
= РезультатЗапроса.Выбрать();
    
    
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        МаксКод = СокрЛП(ВыборкаДетальныеЗаписи.Код);
    КонецЦикла;
    
    МаксКод
= СтрЗаменить(МаксКод," ","");
    
    МаксКод
= ЛЕВ(МаксКод,12);

    ТекКод = Число(МаксКод) + 1;
    
    ТекКод
= СокрЛП(ТекКод);
    ТекКод = СтрЗаменить(ТекКод," ","");    

    КодСтр = "" + ТекКод + ШтрихКода.КонтрольныйСимволEAN(ТекКод,13);
        
    Код
= КодСтр;    

КонецПроцедуры
Эта процедура обеспечит корректную генерацию штрих-кодов в формате EAN13 начиная с номера "5000000000012"

А теперь, собственно, функция, которая генерирует (или находит существующую) запись для набора данных "товар" - "качество" - "прих.накл.":

&НаСервере                                     
Функция ПолучитьУнШК_Товар(Товар,Качество,ПрихНакл) Экспорт
    
    Тип = "Товар";
    
    Запрос = Новый Запрос;
    Запрос.Текст
        "ВЫБРАТЬ
        |    УниверсальныйШтрихКод.Ссылка,
        |    УниверсальныйШтрихКод.Код
        |ИЗ
        |    Справочник.УниверсальныйШтрихКод КАК УниверсальныйШтрихКод
        |ГДЕ
        |    УниверсальныйШтрихКод.Тип = &Тип
        |    И УниверсальныйШтрихКод.Парам1 = &Парам1
        |    И УниверсальныйШтрихКод.Парам2 = &Парам2
        |    И УниверсальныйШтрихКод.Парам3 = &Парам3";
    
    Запрос.УстановитьПараметр("Парам1", Товар);
    Запрос.УстановитьПараметр("Парам2", Качество);
    Запрос.УстановитьПараметр("Парам3", ПрихНакл);

    Запрос.УстановитьПараметр("Тип", Тип);
    
    РезультатЗапроса
= Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи
= РезультатЗапроса.Выбрать();
    
    
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ТекКод = ВыборкаДетальныеЗаписи.Код;
        ТекКод = СтрЗаменить(ТекКод," ","");
        Возврат ТекКод;
    КонецЦикла;        
    
    Спр
= Справочники.УниверсальныйШтрихКод.СоздатьЭлемент();
    Спр.Тип = Тип;
    Спр.Парам1 = Товар;
    Спр.Парам2 = Качество;
    Спр.Парам3 = ПрихНакл;
    Спр.Представление = СокрЛП(Товар.Наименование) + ", " + СокрЛП(Качество.Кратко) + ", " + ПрихНакл.Номер;
    Спр.Записать();
    
    ТекКод
= СтрЗаменить(Спр.Код," ","");

    Возврат ТекКод;

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

Эта функция находится в общем модуле и мы вызываем ее тогда, когда надо получить штрих-код (пока не картинку, а числовое представление) для требуемого набора данных.

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

Печать штрих-кода - здесь все стандартно, но в конфигурации к данной статье есть и этот блок.

Теперь что надо делать при сканировании штрих-кода. Здесь все еще проще:

После сканирования вызываем серверную процедуру, которая разбирает, что "скрывается" под данным штрих-кодом:

СпрУнШК = Справочники.УниверсальныйШтрихКод.НайтиПоКоду(ШК);
    Если СпрУнШК <> Справочники.УниверсальныйШтрихКод.ПустаяСсылка() Тогда
        Если СокрЛП(СпрУнШК.Тип) = "Товар" Тогда
            Товар = СпрУнШК.Парам1;
            Качество = СпрУнШК.Парам2;
            ПрихНакл = СпрУнШК.Парам3;
        КонецЕсли;
    КонецЕсли;

 

В конце статьи приведу реальные примеры из практики, где использовал данный подход:

Швейное производство. На ярлыке изделия (не товара, а именно каждого конкретного изделия) указываем уникальный штрих-код, в котором такая информация:

  • "Товар" - Справочник.Номенклатура
  • "Размер" - Справочник.Размеры
  • "Часть" - Число(2,0). Если товар состоит из нескольких частей (юбка+майка+пиджак) 
  • "ЗаказНаПроизводство" - Документ.ЗаказНаПроизводство
  • "ПорядковыйНомерВЗаказе" - Число(3,0)

Этот уникальный штрих-код создается на старте, распечатывается на бирке, вшивается в готовое изделие и сканируется на всех этапах производства и продажи. В результате можно восстановить полную историю изделия - кто и когда шил, куда отправили, когда вернулось, с каким браком и т.д.

Металлобаза. Для крупноформатных линейных товаров (балка, швеллер, уголок больших размеров) при порезке для каждой "нитки" остатка создаем уникальный штрих-код с такой информацией:

  • "ID" - Строка(30) уникальный ИД для данной "нитки"
  • "Товар" - Справочник.Номенклатура
  • "ТекущийЛинейныйРазмер" - Число(10,3) - длина "нитки"
  • "ДокументФормирования" - Документы: ПриходнаяНакладная, Производство, Оприходование

Это позволяет видеть остатки товаров нестандартной длины, ограничивать их "безконтрольное размножение" (например, для товара "Балка 45 ст3" устанавливается ограничение: на складе не более двух "ниток" с размером < 3м и не более трех "ниток" с размером от 3м до 6м. При формировании менеджером заказа, 1С контролирует остаток всех обрезков на складе, которые будут после порезки, и если в результате данной операции ограничения будут нарушены, то менеджер не сможет оформить такой заказ). А когда менеджеру надо продать товар нестандартной длины, то он указывает складу какой именно экземпляр ему нужен.

СЭД: для печатной формы документа формируем штрих-код для шапки документа, где указано:

  • "Документ" - ссылка на произвольный документ 1С
  • "ВерсияДокумента" - Строка(100) - связь с системой версионирования для понимания того, что именно было в документе, когда пользователь нажал кнопку "печать" или "отправить на e-mail"
  • "ЭтапСогласованияНаМоментПечати" - Справочник.ЭтапыСогласований
  • "ИмяПечатнойФормы" - Строка(20)
  • "НомерСтраницы" - Число(5,0) - для многостраничных документов получаем уникальный штрих-код на каждую страницу
  • "Пользователь" - Справочник.Сотрудники - пользователь, который нажал кнопку "печать" или "отправить e-mail"
  • "ДатаВремяПечати" - ДатаВремя
  • "ПорядковыйНомерВПакете" - Число(3,0) - если был запущен механизм групповой печати/рассылки

"Партизанская" торговля. По выставкам ездят автобусы с товаром и что-то там продают. Для каждого выездного магазинчика свои цены и валюты, которые зависят еще и от того, куда он в данный момент поехал (UAH, RUB, BYN, MDL, EUR). Короче, с ценообразованием все очень сложно. По факту магазинчик распродает почти все, что взял с собой с центрального склада, а то, что привозит назад проходит предпродажную подготовку (чистку/упаковку) и заново перестикеровывается. Вставляем цены и валюту в штрих-код на ярлыке товара. Да, да, да... я знаю, что это "апокрифичекое" решение, апологеты "1С-совместимо" предадут меня анафеме, а "свидетели УТП" проклянут меня и мой род до 7 колена, после смерти я буду гореть в 1С-аду, но я сознательно принимаю это, т.к. считаю, что нет "правильных" и "неправильных" решений, а есть те, что "подходят" для данного бизнеса и "не подходят". Итак штрих-код для этого бизнеса содержит такие данные:

  • "Товар" - Справочник.Номенклатура
  • "Размер" - Справочник.Размеры
  • "ЦенаРозница" - Число (10,2)
  • "ЦенаОпт" - Число (10,2)
  • "ЦенаРаспродажа" - Число (10,2)
  • "Валюта" - Справочник.Валюты

Заодно вместе со штрих-кодом печатаем на ярлыке красиво цены "розница" и "опт" в валюте той страны, куда едет наш "партизан".

"Кондитерское производство" - специфика бизнеса в том, что товар скоропортящийся (срок реализации до 3дней), его производят только под заказ клиента. В штрих-код для каждого торта вносим такую информацию:

  • "Товар" - Справочник.Номенклатура
  • "Клиент" - Справочник.Контрагенты
  • "ДатаЗаказа" - ДатаВремя
  • "ДатаПроизводстваПлан" - ДатаВремя
  • "ДатаОтгрузкиПлан" - ДатаВремя

"Бакалея" - у такой группы товаров как "Твердые сыры" есть одна особенность - каждая "голова" сыра имеет свой уникальный вес. При оптовой торговле никто не продает 30кг сыра - продают 1,2,3 и т.д. "головы". Если менеджер принял заказ от клиента на 30кг сыра, то по факту клиенту может уехать 2 головы с весом 17.560кг и 16.380кг. Для этого вида товаров штрих-код ярлыка для каждой "головы" содержит информацию:

  • "Товар" - Справочник.Номенклатура
  • "Партия" - Документ.ПриходнаяНакладная
  • "ГраничнаяДатаРеализации" - Дата (это поле не дублирует партию, т.к. в одной прих. накл. один и тот же товар может быть с разными сроками годности)
  • "Вес" - Число(10,3) 

Бюро ритуальных услуг. Э-э-э... пожалуй про штрих-кода для этого бизнеса пока рассказывать не буду. 

штрих-кода

См. также

SALE! 20%

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 22800 руб.

21.04.2017    90173    105    39    

190

ККТ-ОНЛАЙН 54-ФЗ: Обработка для работы онлайн касс АТОЛ, ШТРИХ, VIKI PRINT и т.д. МАРКИРОВКА + ЭКВАЙРИНГ + БЕСПЛАТНЫЙ ДЕМО

ККМ Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения 1С:CRM ПРОФ, КОРП Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

4800 руб.

27.02.2017    763004    4668    9495    

2781

ЕГАИС++. Опт, производство, импорт

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 руб.

15.12.2015    165960    679    362    

385

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 9504 руб.

29.10.2014    210155    620    524    

439

Обмен с системой ЦРПТ (Универсальная конфигурация ХамелеонЦРПТ + маркировка табака, обуви, одежды, лекарств, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин)

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

Данная публикация создана для помощи разработчикам, интеграторам и другим заинтересованным лицам по настройке системы маркировки обуви, одежды, лекарств, табака, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин. Смело задавайте нам вопросы по работе с ЦРПТ, GS1, ЭДО, Национальным каталогом, мы накопили достаточно большую базу знаний по данным темам и готовы ответить на все Ваши вопросы.

104000 руб.

18.03.2019    110322    34    114    

178

"Штрихкод-информер" - мобильный ТСД и прайс-чекер в смартфоне

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн. Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

2880 руб.

03.12.2018    54606    137    102    

161

Печать кассовых чеков на одну ККМ с нескольких рабочих мест для 1С:УТ11.х, КА2.х, Розница 2.х, УНФ, ERP 2.х, БП 3, БГУ2

ККМ Кассовые операции Розничная торговля Обмен с ГосИС Бухгалтерский учет Оперативный учет Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение конфигурации для УТ 11.4, 11.5, КА 2.4, 2.5, Розница 3.0, 2.3 и 2.2, УНФ 1.6, УНФ 3x, ERP 2.4, 2.5, БП 3, БГУ2 (Управляемые формы) позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

4000 руб.

27.08.2018    115980    981    564    

827
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. drmaxart 145 29.09.18 12:12 Сейчас в теме
То есть суть в том, что мы не зашиваем информацию о самих объектах в ШК, а храним соответствие ШК набору значений. Недостаток только в том, что использовать информацию из данного ШК можно только в той же ИБ
4. kembrik 10 02.10.18 11:16 Сейчас в теме
Прошу прощения, если это не велосипед, то близко. Как и использование префикса 50 для "Своих" кодов. Согласен, Code128 имеет недостатки, но есть же шикарные gs1 databar expanded с зоопарком вариантов, где все ваши новодельные сущности типа Парам1 и далее по списку превращаются в элегантные (01)04605025000880(3103)000830(17)161223 (с большим запасом по чтению в случае повреждения)

Идентификаторов применения (числа в скобках) вагон, как типовых так и "своих собственных"

Штрихкод в типовых это строка солидного размера, подобный формат туда отлично ложится и параметры разбираются без дополнительного справочника

Внешняя компонента по ссылке https://infostart.ru/public/824109/ - вполне рабочая
orfos; Aleskey_K; +2 Ответить
2. torch 128 29.09.18 12:40 Сейчас в теме
Да, идея именно такая. И да, конечно, этот штрих-код может быть использован только в рамках той ИБ, где был создан. Но ровно тоже самое происходит, когда в типовых конфигурациях нажимаешь кнопку "создать новый штрих-код". В результате получаешь что-то типа 2000000012344, и он тоже может быть корректно обработан только в рамках текущей ИБ.
13. zsrg 343 03.10.18 08:27 Сейчас в теме
(2) Если уж все сделано на основе справочника, то зачем ограничивать функциональность вводя "Параметр1", "Парамтр2" и т.д.? Почему не использовать штатные средства той же торговли: "Свойства объектов" и "Категории объектов", добавив в план видов характеристик "Назначение свойств и категорий объектов" ваш справочник "Универсальный штрих-код"??? Тогда можно легко настраивать перечень свойств/категорий сохраняемых для штрих-кода без необходимости лезть в конфигуратор. А главное: набор не абстрактных "Параметр1", "Параметр2" и т.д., а набор конкретных свойств с наименование и типом значения...
orfos; Irwin; Дмитрий74Чел; +3 Ответить
14. torch 128 03.10.18 10:07 Сейчас в теме
(13)Коллега, абсолютно с Вами согласен. Я пробовал использовать ПВХ, но когда надо было вставить в штрих-код таб. часть, то не смог это культурно реализовать. Но в целом идея, конечно, годная.
15. zsrg 343 23.10.18 13:45 Сейчас в теме
(14) Если поиск по табличной части не нужен, а надо только хранить данные - то я использую "ХранилищеЗначения" и помещаю в него таблицу значений. Таким образом без проблем получается хранить табличные части в регистрах сведений. Если же надо делать поиск / выполнять запрос по данным в табличной части - тогда да, приходится использовать справочник
3. SerVer1C 748 02.10.18 09:19 Сейчас в теме
... ворлд ... - вы, наверное, имели ввиду ХЭЛЛОУ ВОРЛД ?
It-developer; +1 Ответить
5. 🅵🅾️🆇 522 02.10.18 11:41 Сейчас в теме
Эм, решение, какбэ, самое очевидное.
Только вместо справочника, вероятно, стоит использовать регистр сведений и возможно план видов характеристик, чтоб совсем уж универсальная штука получилась.
Тк вам по уникальному значению (которое надо соблюдать уникальным) надо искать некие ресурсы.

Алсо, вам никто не запрещает совмещать и делать понятный штрихкод, например: РЛ-000824

И человечку будет понятно, с чем он имеет дело и уникальность через регистр сведений будет соблюдена.
6. torch 128 02.10.18 11:53 Сейчас в теме
to (5). Решение самое очевидное - это именно то, что сказано в анонсе. В первых версиях использовал регистр сведений, но позже перешел именно на справочник - в самых экзотических случаях нужна была табличная часть для данного элемента, а в сложных системах надо было открывать этот инструмент "администраторам" системы для ручного внесения изменений в элементы. Из этого сразу же последовала необходимость контроля и логирования "кто и чего и когда напедалил". Так что с течением времени от регистра сведений перешел к справочнику.
7. 🅵🅾️🆇 522 02.10.18 12:01 Сейчас в теме
(6) Ну так все тоже самое вы можете делать и с регистром сведений.
+ его удобные плюшки, да еще и работает быстрее.

Касательно справочника: это ни что иное как расширение класса регистра сведений, с добавленными ненужными переменными "код" и "наименование".

Касательно табличной части: табличная часть справочника, это отдельная таблица. С тем же успехом вы можете делать несколько записей по одному штрихкоду в один РС или сопоставить одному РС другой РС или положить данные в JSON или XML в один из ресурсов или использовать хранилище значения.

Человек точно также может открывать и вносить изменения в регистр сведений, причем вполне можно ограничиться одним формошлепством с 0 кода.

Справочники, всеже, для другого нужны.
10. drmaxart 145 02.10.18 15:02 Сейчас в теме
(7)Ну вот табличную часть действительно в РС не зашьешь, делать только отдельный типа подчиненный по каким-то ключам другой РС, играющий роль ТЧ, но смысл
11. 🅵🅾️🆇 522 02.10.18 15:10 Сейчас в теме
(10) Ну или делать несколько записей в разрезе одного штрихкода.
Посмотрите как это происходит с подчиненным регистром сведений при проведении документа с табличной частью.

Да и скорее всего вам не нужна табличная часть, а нужен план видов характеристик.
Тк штрихкодами, как правило, маркируют товар, а товар описывают с помощью пвх.

Если у Вас не большая база и вопрос оптимизации не стоит, то, конечно, можно и справочник.

Просто предназначение справочника не в этом, справочник это скорее перечисление в которое возможно добавлять элементы.
8. Ziggurat 50 02.10.18 12:44 Сейчас в теме
Делал так еще в 7.7, очевидное решение. В чём инновационность?
9. drmaxart 145 02.10.18 15:02 Сейчас в теме
(8)Не все о нём могли знать, человек поделился
12. pro-rok 295 03.10.18 07:57 Сейчас в теме
День добрый, а я решал подобные задачи тоже через справочник. Наступал на те же грабли, первый раз реализовал через регистр сведений, потом пришлось писать приличный объем кода только потому что это был РС + логика была немного "шаткая". На мой субъективный взгляд очень даже удобно работать со справочником. Были случаи когда нужно три табличные части хранить или порядка 20 реквизитов. Только называл я его серийный номер. Зато по ссылке на элемент получаешь легко и без гемороя доступ к нужным реквизитам, пользователь открывая карточку серийного номера видит всю необходимую информацию (из чего собрали, кто собирал, кому отгрузили и т.д.)
Оставьте свое сообщение