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

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) 

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

штрих-кода

См. также

Автоматический заказ поставщику в 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 руб.

21.04.2017    91090    111    40    

198

ККТ-ОНЛАЙН 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

6000 руб.

27.02.2017    767719    4694    9504    

2793

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

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

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

8970 руб.

15.12.2015    166569    703    362    

390

Загрузка номенклатуры из 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 руб.

29.10.2014    211402    630    526    

446

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

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

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

2880 руб.

03.12.2018    55153    139    102    

162

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

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

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

104000 руб.

18.03.2019    110746    35    114    

178

54-ФЗ и Разрешительный режим. Обработки для подключения онлайн-касс к 1С 8 (поддержка Маркировки) + Эмулятор + ФФД 1.2

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

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима.

5400 руб.

25.05.2015    318802    1852    3013    

998
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. drmaxart 146 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 756 02.10.18 09:19 Сейчас в теме
... ворлд ... - вы, наверное, имели ввиду ХЭЛЛОУ ВОРЛД ?
It-developer; +1 Ответить
5. 🅵🅾️🆇 523 02.10.18 11:41 Сейчас в теме
Эм, решение, какбэ, самое очевидное.
Только вместо справочника, вероятно, стоит использовать регистр сведений и возможно план видов характеристик, чтоб совсем уж универсальная штука получилась.
Тк вам по уникальному значению (которое надо соблюдать уникальным) надо искать некие ресурсы.

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

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

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

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

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

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

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

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

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