![]() |
|
Розница 1.0: Печать ценников - убрать дубли | ☑ | ||
---|---|---|---|---|
0
KUBIK
30.11.13
✎
17:29
|
Всем доборго дня. Может кто уже делал?
Проблема: у одного штучныого товара в БД есть несколько штрихкодов. При вызове обработки печати ценников этого товара таблица товаров заполняется по всем его штрихкодам. Как ограничить заполнение только одной строкой товара ( где подправить в запросе)? Пробовал в запрос вставлять вложенный запрос к РС Штрихкоды по первым значениям - ничего не выходит... Запрос, отвечающий за заполнение таблицы товаров: ТекстЗапроса = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Номенклатура, | Номенклатура.Родитель, | Номенклатура.Код, | Номенклатура.Наименование, | Номенклатура.Артикул, | Номенклатура.НаименованиеПолное, | Номенклатура.НоменклатурнаяГруппа, | Номенклатура.ВидНоменклатуры, | Номенклатура.БазоваяЕдиницаИзмерения, | Номенклатура.СтавкаНДС, | Номенклатура.СтранаПроисхождения, | Номенклатура.ДополнительноеОписание, | ХарактеристикиНоменклатуры.Ссылка КАК ХарактеристикаНоменклатуры, | Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения |ПОМЕСТИТЬ Товары |ИЗ | Справочник.Номенклатура КАК Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | NULL КАК Владелец, | ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Ссылка | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ХарактеристикиНоменклатуры.Владелец, | ХарактеристикиНоменклатуры.Ссылка | ИЗ | Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры) КАК ХарактеристикиНоменклатуры | ПО (ХарактеристикиНоменклатуры.Ссылка = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) | ИЛИ (Номенклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.ИспользоватьИндивидуальныеДляНоменклатуры) | И Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец | ИЛИ Номенклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.ИспользоватьОбщиеДляВидаНоменклатуры) | И Номенклатура.ВидНоменклатуры = ХарактеристикиНоменклатуры.Владелец)) |ГДЕ | (НЕ Номенклатура.ЭтоГруппа) |{ГДЕ | Номенклатура.Ссылка.* КАК Ссылка, | ХарактеристикиНоменклатуры.Ссылка КАК ХарактеристикаНоменклатуры} | |ИНДЕКСИРОВАТЬ ПО | Номенклатура, | ХарактеристикаНоменклатуры |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Товары.Номенклатура КАК Номенклатура, | Товары.Родитель, | Товары.Код, | Товары.Наименование, | Товары.Артикул, | Товары.НаименованиеПолное, | Товары.НоменклатурнаяГруппа, | Товары.ВидНоменклатуры, | Товары.ДополнительноеОписание, | Товары.БазоваяЕдиницаИзмерения, | Товары.СтавкаНДС, | Товары.СтранаПроисхождения, | Товары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихХарактеристики.Период, ЦеныНоменклатурыСрезПоследних.Период) КАК ДатаУстановкиЦены, | ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихХарактеристики.ТипЦен, ЦеныНоменклатурыСрезПоследних.ТипЦен) КАК ТипЦен, | ЕСТЬNULL(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихХарактеристики.Цена, ЦеныНоменклатурыСрезПоследних.Цена), 0) КАК Цена, | ЕСТЬNULL(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихХарактеристики.ЕдиницаИзмерения, ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения), Товары.ЕдиницаИзмерения) КАК ЕдиницаИзмерения, | 0 КАК Остаток, | ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация, | ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка) КАК Магазин, | ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад |ПОМЕСТИТЬ ТоварыЦеныОстатки |ИЗ | Товары КАК Товары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( | &ДатаЦен, | ТипЦен = &ТипЦен | И ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура) КАК Ссылка}) КАК ЦеныНоменклатурыСрезПоследних | ПО Товары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( | &ДатаЦен, | ТипЦен = &ТипЦен | И (НЕ ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) {(Номенклатура) КАК Ссылка, (ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатуры}) КАК ЦеныНоменклатурыСрезПоследнихХарактеристики | ПО Товары.Номенклатура = ЦеныНоменклатурыСрезПоследнихХарактеристики.Номенклатура | И Товары.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследнихХарактеристики.ХарактеристикаНоменклатуры |//СЕКЦИЯ_СОЕДИНЕНИЙ |ГДЕ | ИСТИНА |//СЕКЦИЯ_УСЛОВИЙ | |ИНДЕКСИРОВАТЬ ПО | Номенклатура, | ХарактеристикаНоменклатуры |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТоварыЦеныОстатки.Номенклатура КАК Ссылка, | ТоварыЦеныОстатки.Родитель, | ТоварыЦеныОстатки.Код, | ТоварыЦеныОстатки.Наименование, | ТоварыЦеныОстатки.Артикул, | ТоварыЦеныОстатки.НаименованиеПолное, | ТоварыЦеныОстатки.НоменклатурнаяГруппа, | ТоварыЦеныОстатки.ВидНоменклатуры, | ТоварыЦеныОстатки.ДополнительноеОписание, | ТоварыЦеныОстатки.БазоваяЕдиницаИзмерения, | ТоварыЦеныОстатки.СтавкаНДС, | ТоварыЦеныОстатки.СтранаПроисхождения, | ЕСТЬNULL(Штрихкоды.Штрихкод, """") КАК Штрихкод, | ЕСТЬNULL(Штрихкоды.ПредставлениеШтрихкода, """") КАК ПредставлениеШтрихкода, | ТоварыЦеныОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ТоварыЦеныОстатки.ДатаУстановкиЦены, | ТоварыЦеныОстатки.ТипЦен, | ВЫБОР | КОГДА ШтрихКоды.ЕдиницаИзмерения ЕСТЬ NULL | ИЛИ ШтрихКоды.ЕдиницаИзмерения.Коэффициент = 0 | ИЛИ ТоварыЦеныОстатки.ЕдиницаИзмерения.Коэффициент = 0 | ТОГДА 1 | ИНАЧЕ ШтрихКоды.ЕдиницаИзмерения.Коэффициент / ТоварыЦеныОстатки.ЕдиницаИзмерения.Коэффициент | КОНЕЦ * ТоварыЦеныОстатки.Цена КАК Цена, | ЕСТЬNULL(ШтрихКоды.ЕдиницаИзмерения, ТоварыЦеныОстатки.ЕдиницаИзмерения) КАК ЕдиницаИзмерения, | ВЫБОР | КОГДА ШтрихКоды.ЕдиницаИзмерения ЕСТЬ NULL | ИЛИ ШтрихКоды.ЕдиницаИзмерения.Коэффициент = 0 | ТОГДА ТоварыЦеныОстатки.Остаток | ИНАЧЕ ТоварыЦеныОстатки.Остаток / ШтрихКоды.ЕдиницаИзмерения.Коэффициент | КОНЕЦ КАК Остаток, | КодыТоваровPLU.Код КАК КодТовараPLU, | ТоварыЦеныОстатки.Организация.Наименование КАК ОрганизацияНаименование, | ТоварыЦеныОстатки.Организация.НаименованиеСокращенное КАК ОрганизацияНаименованиеСокращенное, | ТоварыЦеныОстатки.Организация.ИНН КАК ИНН, | ТоварыЦеныОстатки.Организация.КодПоОКПО КАК КодПоОКПО, | ТоварыЦеныОстатки.Организация.ОГРН КАК ОГРН, | ТоварыЦеныОстатки.Организация.СвидетельствоДатаВыдачи КАК СвидетельствоДатаВыдачи, | ТоварыЦеныОстатки.Организация.СвидетельствоСерияНомер КАК СвидетельствоСерияНомер, | ТоварыЦеныОстатки.Организация КАК ОрганизацииСсылка, | ТоварыЦеныОстатки.Магазин.Наименование КАК МагазиныНаименование, | ТоварыЦеныОстатки.Магазин КАК МагазиныСсылка, | ТоварыЦеныОстатки.Организация КАК ОрганизацияИзОстатков, | ТоварыЦеныОстатки.Магазин КАК МагазинИзОстатков, | ТоварыЦеныОстатки.Склад КАК СкладИзОстатков, | """" КАК ТекущаяДата, | """" КАК ТекущееВремя, | """" КАК ТекущаяДатаИВремя, | """" КАК ИмяПользователя, | ЕСТЬNULL(ШтрихКоды.ТипШтрихкода, """") КАК ТипШтрихкода, | ВЫБОР | КОГДА ШтрихКоды.ЕдиницаИзмерения ЕСТЬ NULL | ТОГДА ТоварыЦеныОстатки.ЕдиницаИзмерения.ЕдиницаПоКлассификатору | ИНАЧЕ ШтрихКоды.ЕдиницаИзмерения.ЕдиницаПоКлассификатору | КОНЕЦ КАК ЕдиницаПоКлассификатору |ИЗ | ТоварыЦеныОстатки КАК ТоварыЦеныОстатки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК ШтрихКоды | ПО ТоварыЦеныОстатки.Номенклатура = ШтрихКоды.Владелец | И ТоварыЦеныОстатки.ХарактеристикаНоменклатуры = ШтрихКоды.ХарактеристикаНоменклатуры | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КодыТоваровPLU КАК КодыТоваровPLU | ПО ТоварыЦеныОстатки.Номенклатура = КодыТоваровPLU.Номенклатура | И ТоварыЦеныОстатки.ХарактеристикаНоменклатуры = КодыТоваровPLU.ХарактеристикаНоменклатуры | И (ВЫБОР | КОГДА ТоварыЦеныОстатки.Номенклатура.Весовой | ТОГДА ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка) = КодыТоваровPLU.ЕдиницаИзмерения | ИНАЧЕ ЕСТЬNULL(ШтрихКоды.ЕдиницаИзмерения, ТоварыЦеныОстатки.ЕдиницаИзмерения) = КодыТоваровPLU.ЕдиницаИзмерения | КОНЕЦ)"; |
|||
1
KUBIK
30.11.13
✎
17:36
|
Релиз 1.0.16.8 (для 8.2), обработка типовая в составе конфы
|
|||
2
KUBIK
02.12.13
✎
02:21
|
Проблему решил: в запросе3 вместо таблицы РС ШтрихКоды заменил её на внутренний запрос к РС ШтрихКоды и ВТ Товары с ЛС. И сделал группировку в нем с типом итогов МИНИМУМ по ШтрихКод и ПредставлениеШтрихКода.
Теперь в ТЗ Товары заполняется ТОЛЬКО ОДИН товар с минимальным (в данном варианте запроса) в случае наличия у него нескольких штрихкодов! То что требовалось! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |