8.х Обработка ПечатьЭтикетокИЦенников

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Estay, 28 фев 2016.

  1. TopicStarter Overlay
    Estay
    Offline

    Estay

    Регистрация:
    28 фев 2016
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Добрый день.
    Конфигурация: Розница, редакция 1.0.
    Задача: Сделать ценники со скидкой (берётся предыдущая цена). Это реализовано, но проблема в следующем: При заполнении обработки каждая позиция выводится несколько раз.
    Вот скриншот:
    Ценники.jpg
    Код:
    ТекстЗапроса =
        "ВЫБРАТЬ
        |    ЦеныНоменклатурыСрезПоследних.Номенклатура,
        |    ЦеныНоменклатурыСрезПоследних.Цена,
        |    МАКСИМУМ(ЦеныНоменклатуры.Период) КАК ПредыдущаяДата,
        |    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
        |ПОМЕСТИТЬ втЦеныНоменклатуры
        |ИЗ
        |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦен, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
        |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
        |        ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ЦеныНоменклатуры.Номенклатура
        |            И ЦеныНоменклатурыСрезПоследних.Период > ЦеныНоменклатуры.Период
        |            И (ЦеныНоменклатуры.ТипЦен = &ТипЦен)
        |            И ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры
        |
        |СГРУППИРОВАТЬ ПО
        |    ЦеныНоменклатурыСрезПоследних.Номенклатура,
        |    ЦеныНоменклатурыСрезПоследних.Цена,
        |    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    Номенклатура.Ссылка КАК Номенклатура,
        |    Номенклатура.Родитель,
        |    Номенклатура.Код,
        |    Номенклатура.Наименование,
        |    Номенклатура.Артикул,
        |    Номенклатура.НаименованиеКаз,
        |    Номенклатура.НаименованиеПолное,
        |    Номенклатура.НоменклатурнаяГруппа,
        |    Номенклатура.ВидНоменклатуры,
        |    Номенклатура.БазоваяЕдиницаИзмерения,
        |    Номенклатура.СтавкаНДС,
        |    Номенклатура.СтранаПроисхождения,
        |    Номенклатура.ДополнительноеОписание,
        |    ХарактеристикиНоменклатуры.Ссылка КАК ХарактеристикаНоменклатуры,
        |    Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения
        |ПОМЕСТИТЬ Товары
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
        |            NULL КАК Владелец,
        |            ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Ссылка
        |       
        |        ОБЪЕДИНИТЬ
        |       
        |        ВЫБРАТЬ
        |            ХарактеристикиНоменклатуры.Владелец,
        |            ХарактеристикиНоменклатуры.Ссылка
        |        ИЗ
        |            Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры) КАК ХарактеристикиНоменклатуры
        |        ПО (ХарактеристикиНоменклатуры.Ссылка = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
        |                ИЛИ (Номенклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.ИспользоватьИндивидуальныеДляНоменклатуры)
        |                        И Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
        |                    ИЛИ Номенклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.ИспользоватьОбщиеДляВидаНоменклатуры)
        |                        И Номенклатура.ВидНоменклатуры = ХарактеристикиНоменклатуры.Владелец))
        |ГДЕ
        |    НЕ Номенклатура.ЭтоГруппа
        |{ГДЕ
        |    Номенклатура.Ссылка.* КАК Ссылка,
        |    ХарактеристикиНоменклатуры.Ссылка КАК ХарактеристикаНоменклатуры}
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    Номенклатура,
        |    ХарактеристикаНоменклатуры
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    Товары.Номенклатура КАК Номенклатура,
        |    Товары.Родитель,
        |    Товары.Код,
        |    Товары.Наименование,
        |    Товары.Артикул,
        |    Товары.НаименованиеКаз,
        |    Товары.НаименованиеПолное,
        |    Товары.НоменклатурнаяГруппа,
        |    Товары.ВидНоменклатуры,
        |    Товары.ДополнительноеОписание,
        |    Товары.БазоваяЕдиницаИзмерения,
        |    Товары.СтавкаНДС,
        |    Товары.СтранаПроисхождения,
        |    Товары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        |    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихХарактеристики.Период, ЦеныНоменклатурыСрезПоследних.Период) КАК ДатаУстановкиЦены,
        |    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихХарактеристики.ТипЦен, ЦеныНоменклатурыСрезПоследних.ТипЦен) КАК ТипЦен,
        |    ЕСТЬNULL(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихХарактеристики.Цена, ЦеныНоменклатурыСрезПоследних.Цена), 0) КАК Цена,
        |    ЕСТЬNULL(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихХарактеристики.ЕдиницаИзмерения, ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения), Товары.ЕдиницаИзмерения) КАК ЕдиницаИзмерения,
        |    0 КАК Остаток,
        |    ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
        |    ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка) КАК Магазин,
        |    ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад
        |ПОМЕСТИТЬ ТоварыЦеныОстатки
        |ИЗ
        |    Товары КАК Товары
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
        |                &ДатаЦен,
        |                ТипЦен = &ТипЦен
        |                    И ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура) КАК Ссылка}) КАК ЦеныНоменклатурыСрезПоследних
        |        ПО Товары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
        |                &ДатаЦен,
        |                ТипЦен = &ТипЦен
        |                    И НЕ ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура) КАК Ссылка, (ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатуры}) КАК ЦеныНоменклатурыСрезПоследнихХарактеристики
        |        ПО Товары.Номенклатура = ЦеныНоменклатурыСрезПоследнихХарактеристики.Номенклатура
        |            И Товары.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследнихХарактеристики.ХарактеристикаНоменклатуры
        |ГДЕ
        |    ИСТИНА
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    Номенклатура,
        |    ХарактеристикаНоменклатуры
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ТоварыЦеныОстатки.Номенклатура КАК Ссылка,
        |    ТоварыЦеныОстатки.Родитель,
        |    ТоварыЦеныОстатки.Код,
        |    ТоварыЦеныОстатки.Наименование,
        |    ТоварыЦеныОстатки.Артикул,
        |    ТоварыЦеныОстатки.НаименованиеКаз,
        |    ТоварыЦеныОстатки.НаименованиеПолное,
        |    ТоварыЦеныОстатки.НоменклатурнаяГруппа,
        |    ТоварыЦеныОстатки.ВидНоменклатуры,
        |    ТоварыЦеныОстатки.ДополнительноеОписание,
        |    ТоварыЦеныОстатки.БазоваяЕдиницаИзмерения,
        |    ТоварыЦеныОстатки.СтавкаНДС,
        |    ТоварыЦеныОстатки.СтранаПроисхождения,
        |    ЕСТЬNULL(ШтрихКоды.Штрихкод, """") КАК ШтрихКод,
        |    ЕСТЬNULL(ШтрихКоды.ПредставлениеШтрихкода, """") КАК ПредставлениеШтрихкода,
        |    ТоварыЦеныОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        |    ТоварыЦеныОстатки.ДатаУстановкиЦены,
        |    ТоварыЦеныОстатки.ТипЦен,
        |    ВЫБОР
        |        КОГДА ШтрихКоды.ЕдиницаИзмерения ЕСТЬ NULL
        |                ИЛИ ШтрихКоды.ЕдиницаИзмерения.Коэффициент = 0
        |                ИЛИ ТоварыЦеныОстатки.ЕдиницаИзмерения.Коэффициент = 0
        |            ТОГДА 1
        |        ИНАЧЕ ШтрихКоды.ЕдиницаИзмерения.Коэффициент / ТоварыЦеныОстатки.ЕдиницаИзмерения.Коэффициент
        |    КОНЕЦ * ТоварыЦеныОстатки.Цена КАК Цена,
        |    ЕСТЬNULL(ШтрихКоды.ЕдиницаИзмерения, ТоварыЦеныОстатки.ЕдиницаИзмерения) КАК ЕдиницаИзмерения,
        |    ВЫБОР
        |        КОГДА ШтрихКоды.ЕдиницаИзмерения ЕСТЬ NULL
        |                ИЛИ ШтрихКоды.ЕдиницаИзмерения.Коэффициент = 0
        |            ТОГДА ТоварыЦеныОстатки.Остаток
        |        ИНАЧЕ ТоварыЦеныОстатки.Остаток / ШтрихКоды.ЕдиницаИзмерения.Коэффициент
        |    КОНЕЦ КАК Остаток,
        |    КодыТоваровPLU.Код КАК КодТовараPLU,
        |    ТоварыЦеныОстатки.Организация.Наименование КАК ОрганизацияНаименование,
        |    ТоварыЦеныОстатки.Организация.НаименованиеПолное КАК ОрганизацияНаименованиеПолное,
        |    ТоварыЦеныОстатки.Организация.РНН КАК РНН,
        |    ТоварыЦеныОстатки.Организация.КодПоОКПО КАК КодПоОКПО,
        |    ТоварыЦеныОстатки.Организация.КБЕ КАК КБе,
        |    ТоварыЦеныОстатки.Организация.СвидетельствоДатаВыдачи КАК СвидетельствоДатаВыдачи,
        |    ТоварыЦеныОстатки.Организация.СвидетельствоСерияНомер КАК СвидетельствоСерияНомер,
        |    ТоварыЦеныОстатки.Организация КАК ОрганизацииСсылка,
        |    ТоварыЦеныОстатки.Магазин.Наименование КАК МагазиныНаименование,
        |    ТоварыЦеныОстатки.Магазин КАК МагазиныСсылка,
        |    ТоварыЦеныОстатки.Организация КАК ОрганизацияИзОстатков,
        |    ТоварыЦеныОстатки.Магазин КАК МагазинИзОстатков,
        |    ТоварыЦеныОстатки.Склад КАК СкладИзОстатков,
        |    """" КАК ТекущаяДата,
        |    """" КАК ТекущееВремя,
        |    """" КАК ТекущаяДатаИВремя,
        |    """" КАК ИмяПользователя,
        |    ЕСТЬNULL(ШтрихКоды.ТипШтрихкода, """") КАК ТипШтрихкода,
        |    ВЫБОР
        |        КОГДА ШтрихКоды.ЕдиницаИзмерения ЕСТЬ NULL
        |            ТОГДА ТоварыЦеныОстатки.ЕдиницаИзмерения.ЕдиницаПоКлассификатору
        |        ИНАЧЕ ШтрихКоды.ЕдиницаИзмерения.ЕдиницаПоКлассификатору
        |    КОНЕЦ КАК ЕдиницаПоКлассификатору,
        |    ВложенныйЗапрос.ПредыдущаяЦена КАК ПредыдущаяЦена,
        |    ТоварыЦеныОстатки.НаименованиеКаз КАК НаименованиеКаз1
        |ИЗ
        |    ТоварыЦеныОстатки КАК ТоварыЦеныОстатки
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК ШтрихКоды
        |        ПО ТоварыЦеныОстатки.ХарактеристикаНоменклатуры = ШтрихКоды.ХарактеристикаНоменклатуры
        |            И ТоварыЦеныОстатки.Номенклатура = ШтрихКоды.Владелец
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КодыТоваровPLU КАК КодыТоваровPLU
        |        ПО ТоварыЦеныОстатки.Номенклатура = КодыТоваровPLU.Номенклатура
        |            И ТоварыЦеныОстатки.ХарактеристикаНоменклатуры = КодыТоваровPLU.ХарактеристикаНоменклатуры
        |            И (ВЫБОР
        |                КОГДА ТоварыЦеныОстатки.Номенклатура.Весовой
        |                    ТОГДА ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка) = КодыТоваровPLU.ЕдиницаИзмерения
        |                ИНАЧЕ ЕСТЬNULL(ШтрихКоды.ЕдиницаИзмерения, ТоварыЦеныОстатки.ЕдиницаИзмерения) = КодыТоваровPLU.ЕдиницаИзмерения
        |            КОНЕЦ)
        |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
        |            втЦеныНоменклатуры.Номенклатура КАК Номенклатура,
        |            втЦеныНоменклатуры.Цена КАК Цена,
        |            ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) КАК ПредыдущаяЦена
        |        ИЗ
        |            втЦеныНоменклатуры КАК втЦеныНоменклатуры
        |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
        |                ПО втЦеныНоменклатуры.Номенклатура = ЦеныНоменклатуры.Номенклатура
        |                    И (ЦеныНоменклатуры.ТипЦен = &ТипЦен)
        |                    И втЦеныНоменклатуры.ЕдиницаИзмерения = ЦеныНоменклатуры.ЕдиницаИзмерения
        |                    И втЦеныНоменклатуры.ПредыдущаяДата = ЦеныНоменклатуры.Период) КАК ВложенныйЗапрос
        |        ПО ТоварыЦеныОстатки.Номенклатура.Ссылка = ВложенныйЗапрос.Номенклатура.Ссылка
        |{ХАРАКТЕРИСТИКИ
        |    ТИП(Справочник.ХарактеристикиНоменклатуры)
        |    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
        |            СвойстваОбъектов.Ссылка,
        |            СвойстваОбъектов.Наименование + "" (свойство)"" КАК Наименование,
        |            СвойстваОбъектов.ТипЗначения
        |        ИЗ
        |            ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        |        ГДЕ
        |            СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры)
        |            И НЕ СвойстваОбъектов.ПометкаУдаления)
        |    ПОЛЕКЛЮЧА Ссылка
        |    ПОЛЕИМЕНИ Наименование
        |    ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
        |    ЗНАЧЕНИЯХАРАКТЕРИСТИК (ВЫБРАТЬ
        |            СвойстваОбъектов.Ссылка КАК Идентификатор,
        |            ЗначенияСвойствОбъектов.Объект,
        |            ЗначенияСвойствОбъектов.Значение КАК Значение
        |        ИЗ
        |            ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        |                ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        |                ПО (ЗначенияСвойствОбъектов.Свойство = СвойстваОбъектов.Ссылка)
        |        ГДЕ
        |            СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры)
        |            И НЕ СвойстваОбъектов.ПометкаУдаления)
        |    ПОЛЕОБЪЕКТА Объект
        |    ПОЛЕВИДА Идентификатор
        |    ПОЛЕЗНАЧЕНИЯ Значение }";

Поделиться этой страницей