|   |   | 
| 
 | Повторение штрих-кода в списке номенклатуры в 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) раз только начали изучать тогда ох как много шишек придется набить     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |