![]() |
|
Генерация штрихкодов для каждой номенклатурной позиции | ☑ | ||
---|---|---|---|---|
0
DenisBatkaevvv_
naïve
03.05.25
✎
23:39
|
Всем привет, только начинаю разбираться с типовыми конфигурациями, не судите строго((
Стоит задача: Необходимо, чтобы для каждой единицы номенклатуры из документа оприходования, сформировался штрихкод и соответственно его номер. При его сканировании или поиска по номеру система должна выдать данную номенклатуру (причем важно, допустим к нам пришло 30 одинаковых товаров, чтобы для каждого из 30 одинаковых товаров был свой штрихкод) Знаю, что есть встроенные функции в БСП, как я думаю, нужен регистр сведений в котором будут все эти 30 штрихкодов хранится. Однако вопрос в том, какие общие модули использовать и процедуры, также не совсем понятна вся логика работы, как это будет выглядеть? |
|||
1
Мультук
гуру
04.05.25
✎
00:03
|
(0)
Самое главное не написал: -- а нужно нам это потому что "мы хотим"... -- а работать всё это должно в конфигурации название и версия |
|||
2
Maniac
04.05.25
✎
00:16
|
Для Каждого Строка Из Объект.Товары Цикл
Если НЕ ЗначениеЗаполнено(Строка.Номенклатура) Тогда Продолжить; КонецЕсли; ТекстЗапроса = "ВЫБРАТЬ | ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура |ИЗ | РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры |ГДЕ | ШтрихкодыНоменклатуры.Номенклатура = &Номенклатура | И ШтрихкодыНоменклатуры.Характеристика = &ХарактеристикаНоменклатуры | |СГРУППИРОВАТЬ ПО | ШтрихкодыНоменклатуры.Номенклатура"; Запрос = Новый Запрос; Запрос.Текст = ТекстЗапроса; Запрос.УстановитьПараметр("Номенклатура", Строка.Номенклатура); Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", Строка.ХарактеристикаНоменклатуры); РезультатЗапроса = Запрос.Выполнить(); Если НЕ РезультатЗапроса.Пустой() Тогда Сообщить("У данной номенклатуры штрихкод уже есть (строка пропущена) "+Строка.Номенклатура); Продолжить; КонецЕсли; ТекЗаписьШтрихкода = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи(); ТекЗаписьШтрихкода.Номенклатура = Строка.Номенклатура; ТекЗаписьШтрихкода.Характеристика = Строка.ХарактеристикаНоменклатуры; ТекЗаписьШтрихкода.Упаковка = Строка.Упаковка; ПрефиксВнутреннегоШтрихкода = Формат(Константы.ПрефиксШтучногоШтрихкода.Получить(),"ЧЦ=2; ЧН=; ЧВН="); ТекЗаписьШтрихкода.Штрихкод = РегистрыСведений.ШтрихкодыНоменклатуры.СформироватьШтрихкодEAN13(); ТекЗаписьШтрихкода.Записать(); КонецЦикла; |
|||
3
DenisBatkaevvv_
naïve
04.05.25
✎
00:14
|
(1) это больше учебная задача, все это нужно в бп, бсп тройка
|
|||
4
DenisBatkaevvv_
naïve
04.05.25
✎
00:15
|
(2) большое спасибо, буду разбираться!
|
|||
5
Sneer
04.05.25
✎
12:17
|
(2) не, это задача типа маркировки, когда уникальный штрихкод для каждой единицы
(причем важно, допустим к нам пришло 30 одинаковых товаров, чтобы для каждого из 30 одинаковых товаров был свой штрихкод) |
|||
6
Maniac
04.05.25
✎
12:46
|
(5) да там тоже элементарно.
|
|||
7
Maniac
04.05.25
✎
12:47
|
Если есть количество значит можно и сделать цикл по количеству. Дел то. Вообще не понимаю сложностей сделать что угодно))
|
|||
8
Maniac
04.05.25
✎
12:53
|
Маркировки в УТ это справочник ШтрихкодыУпаковокТоваров
там есть типы упаковок с типом Маркированный товар и прочие реквизиты. Ну генерируйте там записи. Дел то. Все это в типовых учтено. В документообороте тоже участвует. |
|||
9
ILM
гуру
04.05.25
✎
12:57
|
(2) Лучше сразу выбрать список номенклатуры без штрихкодов, а потом уже формировать штрихкоды. А так получается запрос в цикле.
|
|||
10
Maniac
04.05.25
✎
13:02
|
(9) почему я не заморачивался? Да потому что если там даже 100 товаров в накладной - это все не имеет значения.
Над оптимизацией надо думать если бы это были десятки тысяч или сотни тысяч строк. |
|||
11
Maniac
04.05.25
✎
13:02
|
Золотое правило даже на курсах 1С.
Не пытаться усложнять там где это не требуется. Хотя по типовым такого не скажешь)) |
|||
12
Sneer
04.05.25
✎
13:05
|
(7) Ну как минимум EAN13 лучше не использовать и проверка на существование какого-либо штрихкода номенклатуры уже неактуальна, а так да, как нефиг делать ;)
|
|||
13
ILM
гуру
04.05.25
✎
14:02
|
(10) Когда работает 200 человек, из них на складе вводят документы 10 человек и накладные по 3 тыс.строк, то бывает и надо.
Уже привычка делать по правилам. Даже запросы дольше 15 секунд меня не устраивают. |
|||
14
DenisBatkaevvv_
naïve
04.05.25
✎
14:25
|
(13) а все таки, что использовать?(
я посмотрел справочник ШтрихкодыУпаковокТоваров, но что то не особо понял что из его функциональности,какой модуль мне пригодится для генерации 30 разных штрихкодов для 30 одинаковых товаров |
|||
15
Sneer
04.05.25
✎
16:25
|
(14) Не усложняй, тебе всего лишь нужно обойти табличную часть документа поступления и сгенерировать нужное по количеству номенклатуры количество штрихкодов. Неважно каких, главное уникальных. Если не заморачиваться, можно взять Строка(Новый УникальныйИдентификатор). Хранить можно в штатном регистре ШтрихкодыНоменклатуры.
Чем здесь поможет БСП, даже не знаю |
|||
16
DenisBatkaevvv_
naïve
04.05.25
✎
19:13
|
(15) спасибо за простоту объяснения, разобрался детальнее и сделал =)
|
|||
17
DenisBatkaevvv_
naïve
04.05.25
✎
19:13
|
всем спасибо
|
|||
18
Волшебник
04.05.25
✎
19:29
|
(16) Покажи, как сделал
|
|||
19
lucky_
05.05.25
✎
01:25
|
(2) щас бы запросы в цикле попИсать.
Маня, куда ты катишься? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |