![]() |
|
Повторение штрих-кода в списке номенклатуры в 1С УНФ 1.6 | ☑ | ||
---|---|---|---|---|
0
gr00t
02.11.22
✎
16:22
|
Добрый день! Имеется 1С УНФ 1.6 (1.6.27.295), платформа 8.3.20.1996, веб-сервер(IIS). В списке номенклатуры штрихкод одного товара отображается напротив других(не всех). Куда копать и как исправить?
Скриншоты прилагаю https://files.fm/u/9uyyana9p |
|||
1
WhiteDragon93
02.11.22
✎
16:25
|
В регистр сведений "Штрихкоды номенклатуры" полагаю
|
|||
2
WhiteDragon93
02.11.22
✎
16:26
|
Пардон, не разглядел сразу на втором скрине то же наименование, что и в списке
|
|||
3
gr00t
02.11.22
✎
16:59
|
Сделал так же ТИ, не помогло
|
|||
4
Kigo_Kigo
02.11.22
✎
17:14
|
ПриВыводеДинамическогоСпискаРассматривай, что там не то
|
|||
5
gr00t
04.11.22
✎
13:18
|
Не нашел процедуру ПриВыводеДинамическогоСписка, но нашел эту процедуру
// Процедура обрабатывает полученные штрихкоды. // &НаКлиенте Процедура ПолученШтрихкод(ДанныеШтрихкода) Экспорт МассивШтрихКодов = Новый Массив; МассивШтрихКодов.Добавить(ДанныеШтрихкода); ДанныеПоШтрихКодам = ПолучитьДанныеПоШтрихкодамВМассиве(МассивШтрихКодов); МассивДанных = ДанныеПоШтрихкодам.Получить(ДанныеШтрихкода.Штрихкод); Штрихкод = ДанныеШтрихкода.Штрихкод; Если Не МассивДанных = Неопределено И МассивДанных.Количество() Тогда Если МассивДанных.Количество() > 1 Тогда ОповещениеОЗакрытии = Новый ОписаниеОповещения("ЗаполнитьПоДаннымШтрихкодовЗавершение", ЭтотОбъект); ПараметрыОткрытия = Новый Структура("МассивНоменклатуры, ТекШтрихкод", МассивДанных, ДанныеШтрихкода); ОткрытьФорму("Справочник.Номенклатура.Форма.ДублиНоменклатурыПоШтрихКоду", ПараметрыОткрытия, ЭтаФорма,,,, ОповещениеОЗакрытии, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); Возврат; КонецЕсли; Номенклатура = МассивДанных[0].Номенклатура; Элементы["СписокЗапасы"].ТекущаяСтрока = Номенклатура; Если НЕ ДействиеПриПоискеПоШК = 1 Тогда Если Не НастройкиИзДокумента И ДействиеПриПоискеПоШК = 2 Тогда ДобавитьВКорзинуСписок(Истина) ИначеЕсли НастройкиИзДокумента И ДействиеПриПоискеПоШК = 2 Тогда Если Элементы.СписокЗапасы.РежимВыбора И ЗначениеЗаполнено(ТипВладельца) Тогда ВыбраннаяСтрока = Элементы.СписокЗапасы.ТекущиеДанные; СтруктураСохраняемыхНастроек = СтруктураСохраняемыхНастроекФормыВыбора(); ПустойСклад = ПредопределенноеЗначение("Справочник.СтруктурныеЕдиницы.ПустаяСсылка"); ПустаяХарактеристика = ПредопределенноеЗначение("Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка"); ПустаяПартия = ПредопределенноеЗначение("Справочник.ПартииНоменклатуры.ПустаяСсылка"); СтруктураПараметров= Новый Структура("Номенклатура, СтруктураНастроек, Склад, Характеристика, Партия" , Номенклатура, СтруктураСохраняемыхНастроек, ПустойСклад, ПустаяХарактеристика, ПустаяПартия); ОповеститьОВыборе(СтруктураПараметров); Иначе ДобавитьВКорзинуСписок(Истина); КонецЕсли; ИначеЕсли ДействиеПриПоискеПоШК = 0 Тогда ОткрытьФорму("Справочник.Номенклатура.ФормаОбъекта",Новый Структура("Ключ",Номенклатура),ЭтотОбъект); КонецЕсли; Возврат; КонецЕсли; Возврат; КонецЕсли; // ЭлектронноеВзаимодействие.РаботаСНоменклатурой Если РаботаСНоменклатуройКлиент.ДоступнаФункциональностьПодсистемы() Тогда РаботаСНоменклатуройКлиент.НайтиНоменклатуруПоШтрихкодуВСервисе(ШтрихКод); Возврат; КонецЕсли; // Конец ЭлектронноеВзаимодействие.РаботаСНоменклатурой СтрокаСообщения = НСтр("ru = 'Данные по штрихкоду не найдены: %1%'"); СтрокаСообщения = СтрЗаменить(СтрокаСообщения, "%1%", Штрихкод); ОбщегоНазначенияКлиент.СообщитьПользователю(СтрокаСообщения); КонецПроцедуры // ПолученыШтрихкоды() |
|||
6
alarm2020
04.11.22
✎
14:54
|
(0) В регистре сведений "ШтрихкодыНоменклатуры" что?
|
|||
7
alarm2020
04.11.22
✎
14:55
|
(0) Повторение штрихкода для разных номенклатур в принципе не запрещено в УНФ
|
|||
8
gr00t
04.11.22
✎
15:21
|
В регистре сведений ШтрихкодыНоменклатуры такое не происходит, т.е. нет повторения. Самое интересное, что повторяется штрихкод конкретно одной номенклатуры со шк 7942361223472. Я его удалил, но проблема не исчезла. Полагаю, что может это произошло в следствии того, что пользователь создал номенклатуры, а затем дальше копировал эту номенклатуру и изменял данные.
Скриншоты прилагаю https://files.fm/u/phbu93kfp |
|||
9
alarm2020
04.11.22
✎
19:13
|
(8) Если в регистре все в порядке, тогда забей. Просто убери колонку "штрихкод" из списка
|
|||
10
gr00t
04.11.22
✎
21:33
|
Проблема в том, что пользователь хочет видеть в списке штрихкоды. Я сделал запрос в консоле, результат такой же, ШК повторяется.
https://files.fm/u/de92dyn85 |
|||
11
alarm2020
05.11.22
✎
09:55
|
(10) Ну кривой запрос. Обычное дело. Хочешь - исправляй. Но лучше забить. В данной ситуации это самое рациональное поведение
|
|||
12
alarm2020
05.11.22
✎
09:58
|
(10) А... так у тебя штрихкод еще и в справочнике хранится. Вот этого вот не надо
|
|||
13
Kassern
05.11.22
✎
10:05
|
(10) (12) Это фишка УНФ ШК хранить в номенклатуре, или это чей-то гениальный замысел? Единственный случай, когда это возможно - когда нет ни характеристик, ни упаковок и у каждой номенклатуры только 1 ШК. Но опять же перезаписывать справочник номенклатуры каждый раз, когда нужно присвоить ШК, такое себе решение.
|
|||
14
НафНаф
05.11.22
✎
10:52
|
(8) скорее всего. Перепишите запрос на регистр сведений. Избавьтесь в номенклатуре от неверных значений
|
|||
15
Kassern
05.11.22
✎
10:56
|
(8) А какой вообще практический смысл в выводе колонки ШК в списке номенклатуры? Для того, чтобы быстро карточку найти по ШК? Так у вас типовая кнопка поиска по ШК есть на командной панели, так же внешнее событие для сканера есть у этой формы.
|
|||
16
opus70
05.11.22
✎
11:46
|
(10) так исправь запрос в форме списка чтоб он выводил штрих коды в колонку
|
|||
17
opus70
05.11.22
✎
11:53
|
ВЫБОР
КОГДА ЕСТЬNULL(Штрихкоды.Количество, 0) > 1 ТОГДА ЕСТЬNULL(Штрихкоды.Штрихкод, "") + " много..." ИНАЧЕ ЕСТЬNULL(Штрихкоды.Штрихкод, "") КОНЕЦ КАК Штрихкоды ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ МАКСИМУМ(Штрихкоды.Штрихкод) КАК Штрихкод, Штрихкоды.Владелец КАК Владелец, СУММА(1) КАК Количество ИЗ РегистрСведений.Штрихкоды КАК Штрихкоды СГРУППИРОВАТЬ ПО Штрихкоды.Владелец) КАК Штрихкоды ПО СправочникНоменклатура.Ссылка = Штрихкоды.Владелец примерно вот так правда производительность оставляет желать лучшего но если в группе мало элементов то все отлично работает |
|||
18
opus70
05.11.22
✎
11:56
|
(15) смысл есть в том что сразу видно вот тут товар со штрих кодом а тут забыли ввести штрихкод
очень удобно товароведам |
|||
19
Kassern
05.11.22
✎
11:57
|
(17) У ТС ШК хранится в номенклатуре...Какой-то гений придумал такую реализацию, а юзвер, в своей манере копировал карточку номенклатуры и менял в ней наименование, оставляя ШК от прошлой позиции. Этот ШК из номенклатуры и вывели на форму списка...
|
|||
20
Kassern
05.11.22
✎
12:00
|
(18) А что мешает соединить таблицу номенклатуры с таблицей ШК и вывести поле Булево ЕстьШтрихкод, если уж так хочется видеть. А так же можно создать 100500 отчетов, или АРМ для товароведов, а не впихивать ШК в номенклатуру и сломав при этом всю логику работы с ШК в типовой конфигурации. Не будет работать поиск по ШК, не будет работать внешнее событие по ШК, не будет контроля по дублям шк и т.д.
|
|||
21
opus70
05.11.22
✎
12:57
|
(20) я не го варил что надо все ломать это пример(17) Розница 2.3 где ничего не сломано а добавлено
так же можно сделать в УНФ а отчеты они не всегда удобны в использовании и да можно выводит просто Да или Нет в списке номенклатуры |
|||
22
gr00t
05.11.22
✎
14:02
|
(13) Так в УНФ и Рознице пока не запишешь справочник номенклатуры, программа не даст перейти к добавлению ШК
|
|||
23
gr00t
05.11.22
✎
14:05
|
(19) Пользователь менял также и ШК, т.е. как я предполагаю пользователь копировал номенклатуру, а затем в ней менял наименование и ШК. В списке номенклатуры в поле ШК повторяется, а в самом справочнике у номенклатуры уже свой ШК.
|
|||
24
Kassern
05.11.22
✎
14:10
|
(22) Конечно не даст, ведь номенклатура - это измерение регистра сведений. Пока номенклатуры не будет, нельзя сделать запись в регистр, что логично.
|
|||
25
Kassern
05.11.22
✎
14:10
|
Только вот зачем ШК писать в сам справочник номенклатуры - для меня загадка
|
|||
26
Kassern
05.11.22
✎
14:12
|
(23) Покажите мне на скрине, где там у вас в самом справочнике (в объекте Номенклатура, откуда идет вывод в список номенклатуры) другой шк. Не надо только прикладывать скрины с типового регистра Штрихкоды
|
|||
27
gr00t
05.11.22
✎
14:13
|
Теперь еще новая проблема выявилась. При печати этикеток из формы списка или справочника номенклатуры позиция номенклатуры в Печати этикеток дублируется, один без ШК, другой с ШК.
https://files.fm/u/teh4pf2eq |
|||
28
Kassern
05.11.22
✎
14:16
|
(27) Ответьте честно, это вы добавили реквизит Штрихкод в справочник Номенклатура? У вас одна строчка с упаковкой, для которой есть ШК, а вторая без упаковки, скорее всего дело в этом
|
|||
29
gr00t
05.11.22
✎
14:17
|
(26) На скрине видно, что напротив номенклатуры Затирка для швов Старатели 002 белый 2 кг повторяющийся ШК, а в самом справочнике номенклатуры совсем другой ШК
https://files.fm/u/8mm8eazpq |
|||
30
gr00t
05.11.22
✎
14:21
|
(28) Не понял Ваш вопрос, реквизит ШК есть в справочнике номенклатура идет по умолчанию.
|
|||
31
Kassern
05.11.22
✎
14:21
|
(29) А вы программист? Вы же сами показывали на скрине консоль запросов, где дубли вашего ШК были в самой номенклатуре (Номенклатура.Штрихкод) а не регистре сведений Штрихкоды, который вы так упрямо показываете в карточке номенклатуры (представьте себе, в карточке могут отображаться не только реквизиты самого объекта, а еще и данные с разных регистров.)
|
|||
32
Kassern
05.11.22
✎
14:26
|
Вангую, горе-погромисту поставили задачу, хотим мол штрихкод видеть в списке номенклатуры. Тот попробовал прикрутить регистр сведений и получил задвоенные/затроенные строчки с номенклатурой, так как для одной номенклатуры может быть несколько ШК, в зависимости от упаковки и характеристик. Тогда он придумал гениальный выход, а не прилепить мне реквизит Штрихкод в саму Номенклатуру, при этом не отображаю в карточке товара). Так и сделал и этот реквизит, как артикул, вывел в список номенклатуры. А чтобы он заполнялся, наверное сделал запись в карточку номенклатуры при присвоении нового ШК (а может и не сделал) и для всех существующих позиций присвоил ШК в карточку номенклатуры. Довольный, потирая ладошки сдал задачу, только вот не учел, что юзверы будут копировать номенклатуру, а при копировании это поле так же переносилось в новую карточку и карточный домик посыпался))
|
|||
33
gr00t
05.11.22
✎
14:27
|
(31) Можно сказать, что я не программист, только начинаю изучать. Из ваших слов я понял, что в форме списка номенклатуры нужно подтягивать не ШК из справочника, а РС, правильно? Т.е. руками в конфигураторе добавить в форму реквизит путем запроса в РС ШтрихкодыНоменклатуры. (32)
|
|||
34
Kassern
05.11.22
✎
14:28
|
Вот и спрашиваю, это ваша гениальная идея, или ваших предшественников?)
|
|||
35
gr00t
05.11.22
✎
14:28
|
(32) Я ничего не прикручивал, реквизит Штрихкод(Ссылка) есть в настройке формы списка номенклатуры, просто вывел его.
|
|||
36
gr00t
05.11.22
✎
14:29
|
||||
37
Kassern
05.11.22
✎
14:30
|
(35) Кто добавил реквизит Штрихкод в справочник номенклатура? Скрин из (10) Нет такого реквизита в типовой конфе, насколько мне известно
|
|||
38
Kassern
05.11.22
✎
14:31
|
(35) Да я уже понял, что вы вывели, только вот его там и быть не должно.
Если хотите видеть ШК, в списке номенклатуры, то ответьте на вопрос, у вас может быть 2 и более ШК для одной позиции номенклатуры, если да, то какой должен выводиться? |
|||
39
gr00t
05.11.22
✎
14:35
|
(32) Я пока что ничего программно не делал, только использовал встроенные настройки))
|
|||
40
gr00t
05.11.22
✎
14:36
|
(38) Тот, который я укажу основным
|
|||
41
Kassern
05.11.22
✎
14:40
|
(40) Тогда редактируйте динамический список номенклатуры, добавьте к основной таблице Номенклатуры левым соединением регистр Штрихкоды, в связи укажите, что Основной=Истина, или как там у вас выделяется основной ШК. Только вряд ли у вас это получится, судя по (33) "я не программист, только начинаю изучать". Не забудьте сделать бекап, перед тем, как что-от ковырять в конфигураторе.
|
|||
42
gr00t
05.11.22
✎
14:48
|
(41) Я попробую)) Спасибо большое за совет!
|
|||
43
opus70
05.11.22
✎
15:02
|
(33) раз только начали изучать тогда ох как много шишек придется набить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |