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

28.09.18

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Конфигурация со "сложными" штрих-кодами:
.cf 8,51Mb ver:1.1
10
10 Скачать (1 SM) Купить за 1 850 руб.

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

  • Товар ("Кровать "Антара"")
  • Качество товара ("Брак, некомплект производителя")
  • Приходная накладная ("РЛ-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С 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    796342    4903    9546    

2858

SALE! 20%

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

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

8970 7176 руб.

15.12.2015    170793    955    364    

400

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

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

4500 руб.

27.08.2018    122190    1025    584    

864

SALE! 25%

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 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 или интернет. Поддержка маркировки и разрешительного режима.

5880 4410 руб.

25.05.2015    335552    1956    3058    

1031

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

Универсальная конфигурация Хамелеон Меркурий для взаимодействия с системой Меркурий (тестовый+рабочий+демо контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Основное отличие от других решений - работа через веб-интерфейс и API 2.0(API 2.1). Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом Меркурий, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе Меркурий и наоборот.

44000 руб.

08.11.2017    122942    292    140    

398

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Розничная торговля Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

Подсистема призвана упростить и автоматизировать процесс расчета и начисления бонусов покупателей. Бонусная система работает с конфигурациями 1С:УТ 10.3, 1С:Розница. Механизм реализован в начале 2013г. и работает до сих пор с постоянными совершенствованиями.

30000 руб.

02.11.2015    112284    102    87    

185
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. drmaxart 149 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 129 29.09.18 12:40 Сейчас в теме
Да, идея именно такая. И да, конечно, этот штрих-код может быть использован только в рамках той ИБ, где был создан. Но ровно тоже самое происходит, когда в типовых конфигурациях нажимаешь кнопку "создать новый штрих-код". В результате получаешь что-то типа 2000000012344, и он тоже может быть корректно обработан только в рамках текущей ИБ.
13. zsrg 344 03.10.18 08:27 Сейчас в теме
(2) Если уж все сделано на основе справочника, то зачем ограничивать функциональность вводя "Параметр1", "Парамтр2" и т.д.? Почему не использовать штатные средства той же торговли: "Свойства объектов" и "Категории объектов", добавив в план видов характеристик "Назначение свойств и категорий объектов" ваш справочник "Универсальный штрих-код"??? Тогда можно легко настраивать перечень свойств/категорий сохраняемых для штрих-кода без необходимости лезть в конфигуратор. А главное: набор не абстрактных "Параметр1", "Параметр2" и т.д., а набор конкретных свойств с наименование и типом значения...
orfos; Irwin; Дмитрий74Чел; +3 Ответить
14. torch 129 03.10.18 10:07 Сейчас в теме
(13)Коллега, абсолютно с Вами согласен. Я пробовал использовать ПВХ, но когда надо было вставить в штрих-код таб. часть, то не смог это культурно реализовать. Но в целом идея, конечно, годная.
15. zsrg 344 23.10.18 13:45 Сейчас в теме
(14) Если поиск по табличной части не нужен, а надо только хранить данные - то я использую "ХранилищеЗначения" и помещаю в него таблицу значений. Таким образом без проблем получается хранить табличные части в регистрах сведений. Если же надо делать поиск / выполнять запрос по данным в табличной части - тогда да, приходится использовать справочник
3. SerVer1C 815 02.10.18 09:19 Сейчас в теме
... ворлд ... - вы, наверное, имели ввиду ХЭЛЛОУ ВОРЛД ?
It-developer; +1 Ответить
5. 🅵🅾️🆇 524 02.10.18 11:41 Сейчас в теме
Эм, решение, какбэ, самое очевидное.
Только вместо справочника, вероятно, стоит использовать регистр сведений и возможно план видов характеристик, чтоб совсем уж универсальная штука получилась.
Тк вам по уникальному значению (которое надо соблюдать уникальным) надо искать некие ресурсы.

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

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

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

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

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

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

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

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

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