Имя: Пароль:
1C
 
Печать этикеток выводит 2 этикетки.
0 Zombi
 
19.06.24
12:22
Отредактировал стандартный макет этикетки и обработка начала выводить его 2 раза. В самой обработке стоит количество этикеток 1. Если ставлю 2 этикетки, выводит 4. Причем сейчас даже загружаю типовой макет этикетки, все равно 2 раза выводит. Как исправить? В чем причина?

https://disk.yandex.ru/i/PQzbcqcNY7jlEQ

https://disk.yandex.ru/i/Ia0RFtrN9VA2Sw
1 Zombi
 
19.06.24
13:42
Если ставлю 2 этикетки в строке обработки, формирует вот так:
2 Valdis2007
 
19.06.24
13:48
(0) что за конфа? посмотри в код обработки в чем проблэма?
3 Zombi
 
19.06.24
13:59
УНФ последняя версия
4 Zombi
 
19.06.24
14:00
Выбираю этикетку малую и она нормально выводится 1 штука. Не факт что дело именно в коде обработки.
5 RoRu
 
19.06.24
14:18
(4) в 1С вообще как-то криво всё с шаблонами этикеток, мы как-то в УТ долго бились
- попробуй из архива подними базу и оттуда вытяни
там вроде  сам шаблон портится
у нас ещё и   размер бумаги, параметры страницы и т д, слетало и получалось 1ая этикетка норм, а 10я чуть съехала (если 20 шт печатать)
6 ЖНЕЦ
 
19.06.24
18:39
(0) Отредактировал - где?
7 devlog
 
01.07.24
19:47
Ребята, короче это косяк косячный конфы или платформы хз, в багбоарде нет инфы об этом....
Исправляется так: жмём Открыть элемент "Шаблон печати" и в поле Тип ценника надо что-то поставить, например "Ценник"
9 Волшебник
 
01.07.24
19:48
Нужно подтверждение (7)
10 Zombi
 
01.07.24
20:36
Скорее всего это косяк конфы. Я докопался до лютого запроса, который выдавал результат 2 строки, из за которого и печатались 2 этикетки. Процедура ПодготовитьДанныеДляПечати модуля менеджера обработки ПечатьЭтикетокИЦенников. Вот текст запроса:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВЫРАЗИТЬ(ИсходныеДанные.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
    ИсходныеДанные.Характеристика КАК Характеристика,
    ИсходныеДанные.Партия КАК Партия,
    ИсходныеДанные.Серия КАК Серия,
    ИсходныеДанные.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ИсходныеДанные.Штрихкод КАК Штрихкод,
    "КоличествоЦенников" КАК КоличествоЦенниковДляПечати,
    "КоличествоЭтикеток" КАК КоличествоЭтикетокДляПечати,
    "ШаблонЭтикетки" КАК ШаблонЭтикеткиДляПечати,
    "ШаблонЦенника" КАК ШаблонЦенникаДляПечати,
    ВЫРАЗИТЬ(ИсходныеДанные.Организация КАК Справочник.Организации) КАК Организация,
    ИсходныеДанные.ШтрихАвтопроверки КАК ШтрихАвтопроверки
ПОМЕСТИТЬ ИсходныеДанные
ИЗ
    (ВЫБРАТЬ
        ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура,
        ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика,
        ЗНАЧЕНИЕ(Справочник.ПартииНоменклатуры.ПустаяСсылка) КАК Партия,
        ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
        ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка) КАК ЕдиницаИзмерения,
        "" КАК Штрихкод,
        0 КАК Количество,
        ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
        "" КАК ШтрихАвтопроверки) КАК ИсходныеДанные

ИНДЕКСИРОВАТЬ ПО
    Номенклатура,
    Характеристика,
    Партия,
    ЕдиницаИзмерения
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИсходныеДанные.Номенклатура КАК Номенклатура,
    ИсходныеДанные.Характеристика КАК Характеристика,
    ИсходныеДанные.Партия КАК Партия,
    ИсходныеДанные.Серия КАК Серия,
    ИсходныеДанные.Штрихкод КАК Штрихкод,
    ИсходныеДанные.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ИсходныеДанные.КоличествоЦенниковДляПечати КАК КоличествоЦенниковДляПечати,
    ИсходныеДанные.КоличествоЭтикетокДляПечати КАК КоличествоЭтикетокДляПечати,
    ИсходныеДанные.ШаблонЭтикеткиДляПечати КАК ШаблонЭтикеткиДляПечати,
    ИсходныеДанные.ШаблонЦенникаДляПечати КАК ШаблонЦенникаДляПечати,
    ИсходныеДанные.Организация КАК Организация,
    ВЫРАЗИТЬ(ИсходныеДанные.ШтрихАвтопроверки КАК СТРОКА(500)) КАК ШтрихАвтопроверки
ПОМЕСТИТЬ ИсходныеДанныеИзмененные
ИЗ
    ИсходныеДанные КАК ИсходныеДанные

ИНДЕКСИРОВАТЬ ПО
    Номенклатура,
    Характеристика,
    Партия,
    ЕдиницаИзмерения
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Штрихкоды.Номенклатура КАК Номенклатура,
    Штрихкоды.Характеристика КАК Характеристика,
    Штрихкоды.Партия КАК Партия,
    Штрихкоды.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    Штрихкоды.Штрихкод КАК Штрихкод,
    Штрихкоды.Номенклатура.Штрихкод = Штрихкоды.Штрихкод КАК ОсновнойШтрихкод
ПОМЕСТИТЬ ШтрихкодыНоменклатуры
ИЗ
    РегистрСведений.ШтрихкодыНоменклатуры КАК Штрихкоды
ГДЕ
    (Штрихкоды.Номенклатура, Штрихкоды.Характеристика, Штрихкоды.Партия, Штрихкоды.ЕдиницаИзмерения, Штрихкоды.Штрихкод) В
            (ВЫБРАТЬ
                ИсходныеДанныеИзмененные.Номенклатура,
                ИсходныеДанныеИзмененные.Характеристика,
                ИсходныеДанныеИзмененные.Партия,
                ИсходныеДанныеИзмененные.ЕдиницаИзмерения,
                ИсходныеДанныеИзмененные.Штрихкод
            ИЗ
                ИсходныеДанныеИзмененные)

СГРУППИРОВАТЬ ПО
    Штрихкоды.Номенклатура,
    Штрихкоды.Характеристика,
    Штрихкоды.Партия,
    Штрихкоды.Штрихкод,
    Штрихкоды.ЕдиницаИзмерения,
    Штрихкоды.Номенклатура.Штрихкод = Штрихкоды.Штрихкод

ИНДЕКСИРОВАТЬ ПО
    Номенклатура,
    Характеристика,
    Партия,
    ЕдиницаИзмерения
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    МАКСИМУМ(КодыТоваровSKU.SKU) КАК SKU,
    КодыТоваровSKU.Номенклатура КАК Номенклатура,
    КодыТоваровSKU.Характеристика КАК Характеристика,
    КодыТоваровSKU.Партия КАК Партия,
    КодыТоваровSKU.ЕдиницаИзмерения КАК ЕдиницаИзмерения
ПОМЕСТИТЬ КодыSKU
ИЗ
    РегистрСведений.КодыТоваровSKU КАК КодыТоваровSKU
ГДЕ
    (КодыТоваровSKU.Номенклатура, КодыТоваровSKU.Характеристика, КодыТоваровSKU.Партия, КодыТоваровSKU.ЕдиницаИзмерения) В
            (ВЫБРАТЬ
                ИсходныеДанныеИзмененные.Номенклатура,
                ИсходныеДанныеИзмененные.Характеристика,
                ИсходныеДанныеИзмененные.Партия,
                ИсходныеДанныеИзмененные.ЕдиницаИзмерения
            ИЗ
                ИсходныеДанныеИзмененные)

СГРУППИРОВАТЬ ПО
    КодыТоваровSKU.Номенклатура,
    КодыТоваровSKU.Характеристика,
    КодыТоваровSKU.Партия,
    КодыТоваровSKU.ЕдиницаИзмерения

ИНДЕКСИРОВАТЬ ПО
    Номенклатура,
    Характеристика,
    Партия,
    ЕдиницаИзмерения
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СоставНаборов.НоменклатураНабора КАК НоменклатураНабора,
    СоставНаборов.ХарактеристикаНабора КАК ХарактеристикаНабора,
    СоставНаборов.Номенклатура КАК Номенклатура,
    СоставНаборов.Характеристика КАК Характеристика,
    СоставНаборов.Количество КАК Количество
ПОМЕСТИТЬ Наборы
ИЗ
    ИсходныеДанныеИзмененные КАК ИсходныеДанныеИзмененные
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоставНаборов КАК СоставНаборов
        ПО ИсходныеДанныеИзмененные.Номенклатура = СоставНаборов.НоменклатураНабора
            И ИсходныеДанныеИзмененные.Характеристика = СоставНаборов.ХарактеристикаНабора
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    ЦеныНоменклатурыСрезПоследних.Период КАК Период,
    ЦеныНоменклатурыСрезПоследних.ВидЦен КАК ВидЦен,
    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения
ПОМЕСТИТЬ ВТ_Цены
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
            &ЦеныНаДату,
            (Номенклатура, Характеристика) В
                (ВЫБРАТЬ
                    ИсходныеДанныеИзмененные.Номенклатура КАК Номенклатура,
                    ИсходныеДанныеИзмененные.Характеристика КАК Характеристика
                ИЗ
                    ИсходныеДанныеИзмененные КАК ИсходныеДанныеИзмененные
            
                ОБЪЕДИНИТЬ ВСЕ
            
                ВЫБРАТЬ
                    Наборы.Номенклатура,
                    Наборы.Характеристика
                ИЗ
                    Наборы КАК Наборы)) КАК ЦеныНоменклатурыСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИсходныеДанныеИзмененные.Номенклатура КАК Номенклатура,
    ИсходныеДанныеИзмененные.Характеристика КАК Характеристика,
    ИсходныеДанныеИзмененные.Партия КАК Партия,
    ВТ_Цены.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    &ВидЦен КАК ВидЦен,
    ЕСТЬNULL(ВТ_Цены.Цена, 0) КАК Цена,
    ЕСТЬNULL(ВТ_Цены.Период, ДАТАВРЕМЯ(1, 1, 1)) КАК ПериодЦены
ПОМЕСТИТЬ ТоварыСЦенами
ИЗ
    ИсходныеДанныеИзмененные КАК ИсходныеДанныеИзмененные
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Цены КАК ВТ_Цены
        ПО ИсходныеДанныеИзмененные.Номенклатура = ВТ_Цены.Номенклатура
            И ИсходныеДанныеИзмененные.Характеристика = ВТ_Цены.Характеристика
            И (ВТ_Цены.ВидЦен = &ВидЦен)
ГДЕ
    &ЦеныПоВидуЦены
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИсходныеДанныеИзмененные.Номенклатура КАК Номенклатура,
    ИсходныеДанныеИзмененные.Характеристика КАК Характеристика,
    ИсходныеДанныеИзмененные.Партия КАК Партия,
    ВидыЦен.Ссылка КАК ВидЦен
ПОМЕСТИТЬ ИсходныеДанныеСВидамиЦен
ИЗ
    ИсходныеДанныеИзмененные КАК ИсходныеДанныеИзмененные
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦен КАК ВидыЦен
        ПО (ИСТИНА)
ГДЕ
    НЕ &ЦеныПоВидуЦены
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИсходныеДанные.Номенклатура КАК Номенклатура,
    ИсходныеДанные.Характеристика КАК Характеристика,
    ИсходныеДанные.Партия КАК Партия,
    ВТ_Цены.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ИсходныеДанные.ВидЦен КАК ВидЦен,
    ЕСТЬNULL(ВТ_Цены.Цена, 0) КАК Цена,
    ЕСТЬNULL(ВТ_Цены.Период, ДАТАВРЕМЯ(1, 1, 1)) КАК ПериодЦены
ПОМЕСТИТЬ ТоварыСЦенамиПоВидамЦен
ИЗ
    ИсходныеДанныеСВидамиЦен КАК ИсходныеДанные
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Цены КАК ВТ_Цены
        ПО ИсходныеДанные.Номенклатура = ВТ_Цены.Номенклатура
            И ИсходныеДанные.Характеристика = ВТ_Цены.Характеристика
            И ИсходныеДанные.ВидЦен = ВТ_Цены.ВидЦен
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ТоварыСЦенами.Номенклатура КАК Номенклатура,
    ТоварыСЦенами.Характеристика КАК Характеристика,
    ТоварыСЦенами.Партия КАК Партия,
    ТоварыСЦенами.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ТоварыСЦенами.ВидЦен КАК ВидЦен,
    ТоварыСЦенами.Цена КАК Цена,
    ТоварыСЦенами.ПериодЦены КАК ПериодЦены
ПОМЕСТИТЬ ЦеныНоменклатуры
ИЗ
    ТоварыСЦенамиПоВидамЦен КАК ТоварыСЦенами

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ТоварыСЦенами.Номенклатура,
    ТоварыСЦенами.Характеристика,
    ТоварыСЦенами.Партия,
    ТоварыСЦенами.ЕдиницаИзмерения,
    ТоварыСЦенами.ВидЦен,
    ТоварыСЦенами.Цена,
    ТоварыСЦенами.ПериодЦены
ИЗ
    ТоварыСЦенами КАК ТоварыСЦенами
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика
ПОМЕСТИТЬ ВТ_ЦеныМинимальные
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
            &ЦеныНаДату,
            ВидЦен = &ВидМинимальныхЦенПродажи
                И &ЦеныМинимальные
                И (Номенклатура, Характеристика) В
                    (ВЫБРАТЬ
                        ИсходныеДанныеИзмененные.Номенклатура КАК Номенклатура,
                        ИсходныеДанныеИзмененные.Характеристика КАК Характеристика
                    ИЗ
                        ИсходныеДанныеИзмененные КАК ИсходныеДанныеИзмененные)) КАК ЦеныНоменклатурыСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
    ЦеныНоменклатуры.Характеристика КАК Характеристика,
    ЦеныНоменклатуры.Партия КАК Партия,
    ЦеныНоменклатуры.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ЦеныНоменклатуры.ВидЦен КАК ВидЦен,
    ЦеныНоменклатуры.Цена КАК Цена,
    ЦеныНоменклатуры.ПериодЦены КАК ПериодЦены
ПОМЕСТИТЬ ТаблицаИтоговая
ИЗ
    ЦеныНоменклатуры КАК ЦеныНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЦеныМинимальные КАК ВТ_ЦеныМинимальные
        ПО ЦеныНоменклатуры.Номенклатура = ВТ_ЦеныМинимальные.Номенклатура
            И ЦеныНоменклатуры.Характеристика = ВТ_ЦеныМинимальные.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ТаблицаИтоговая.Номенклатура КАК Номенклатура,
    ТаблицаИтоговая.Характеристика КАК Характеристика,
    ТаблицаИтоговая.Партия КАК Партия,
    ТаблицаИтоговая.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ТаблицаИтоговая.ВидЦен КАК ВидЦен,
    ТаблицаИтоговая.Цена КАК Цена,
    ТаблицаИтоговая.ПериодЦены КАК ПериодЦены
ПОМЕСТИТЬ ЦеныНоменклатурыСУчетомМинимальных
ИЗ
    ТаблицаИтоговая КАК ТаблицаИтоговая
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Наборы.НоменклатураНабора КАК Номенклатура,
    Наборы.ХарактеристикаНабора КАК Характеристика,
    СУММА(Наборы.Количество * ВТ_Цены.Цена) КАК Цена
ПОМЕСТИТЬ ЦеныНаборов
ИЗ
    Наборы КАК Наборы
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Цены КАК ВТ_Цены
        ПО Наборы.Номенклатура = ВТ_Цены.Номенклатура
            И Наборы.Характеристика = ВТ_Цены.Характеристика
            И (ВТ_Цены.ВидЦен = &ВидЦен)

СГРУППИРОВАТЬ ПО
    Наборы.НоменклатураНабора,
    Наборы.ХарактеристикаНабора
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЗапасыОстатки.Номенклатура КАК Номенклатура,
    ЗапасыОстатки.Характеристика КАК Характеристика,
    ЗапасыОстатки.КоличествоОстаток КАК КоличествоОстаток
ПОМЕСТИТЬ ВТ_ОстаткиТоваров
ИЗ
    РегистрНакопления.Запасы.Остатки(, ) КАК ЗапасыОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    ВложенныйЗапрос.Характеристика КАК Характеристика,
    ВложенныйЗапрос.КоличествоЦенниковДляПечати КАК КоличествоЦенниковДляПечати,
    ВложенныйЗапрос.КоличествоЭтикетокДляПечати КАК КоличествоЭтикетокДляПечати,
    ВложенныйЗапрос.ШаблонЭтикеткиДляПечати КАК ШаблонЭтикеткиДляПечати,
    ВложенныйЗапрос.ШаблонЦенникаДляПечати КАК ШаблонЦенникаДляПечати,
    ВложенныйЗапрос.Штрихкод КАК Штрихкод,
    ВложенныйЗапрос.ПериодЦены КАК ПериодЦены
ИЗ
    (ВЫБРАТЬ
        ЕСТЬNULL(ИсходныеДанныеПоследнийЗапрос.Номенклатура, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) КАК Номенклатура,
        ВЫРАЗИТЬ(ИсходныеДанныеПоследнийЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1024)) КАК НоменклатураНаименованиеПолное,
        ВЫРАЗИТЬ(ИсходныеДанныеПоследнийЗапрос.Номенклатура.Комментарий КАК СТРОКА(1024)) КАК НоменклатураОписание,
        ЕСТЬNULL(ИсходныеДанныеПоследнийЗапрос.Характеристика, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК Характеристика,
        ЕСТЬNULL(ИсходныеДанныеПоследнийЗапрос.Партия, ЗНАЧЕНИЕ(Справочник.ПартииНоменклатуры.ПустаяСсылка)) КАК Партия,
        ЕСТЬNULL(ИсходныеДанныеПоследнийЗапрос.Серия, ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)) КАК Серия,
        ЕСТЬNULL(ИсходныеДанныеПоследнийЗапрос.ЕдиницаИзмерения, ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)) КАК ЕдиницаИзмерения,
        МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.КоличествоЦенниковДляПечати) КАК КоличествоЦенниковДляПечати,
        МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.КоличествоЭтикетокДляПечати) КАК КоличествоЭтикетокДляПечати,
        МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.ШаблонЭтикеткиДляПечати) КАК ШаблонЭтикеткиДляПечати,
        МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.ШаблонЦенникаДляПечати) КАК ШаблонЦенникаДляПечати,
        ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
        ИсходныеДанныеПоследнийЗапрос.ШтрихАвтопроверки КАК ШтрихАвтопроверки,
        МАКСИМУМ(ВидыЦен.Ссылка) КАК ВидЦен,
        МАКСИМУМ(ЕСТЬNULL(Организации.Ссылка, ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка))) КАК Организация,
        МАКСИМУМ(ВЫБОР
                КОГДА ИсходныеДанныеПоследнийЗапрос.Номенклатура.СпособРасчетаЦеныНабора = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаЦеныНабора.СкладыватьИзЦенКомплектующих)
                    ТОГДА ЦеныНаборов.Цена
                ИНАЧЕ ВЫБОР
                        КОГДА ТИПЗНАЧЕНИЯ(ЦеныНоменклатуры.ЕдиницаИзмерения) = ТИП(Справочник.КлассификаторЕдиницИзмерения)
                            ТОГДА ВЫБОР
                                    КОГДА ИсходныеДанныеПоследнийЗапрос.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
                                        ТОГДА ЦеныНоменклатуры.Цена
                                    ИНАЧЕ ЦеныНоменклатуры.Цена * ИсходныеДанныеПоследнийЗапрос.ЕдиницаИзмерения.Коэффициент
                                КОНЕЦ
                        ИНАЧЕ ВЫБОР
                                КОГДА ИсходныеДанныеПоследнийЗапрос.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
                                    ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент КАК ЧИСЛО(15, 2))
                                ИНАЧЕ ВЫРАЗИТЬ(ЦеныНоменклатуры.Цена * ИсходныеДанныеПоследнийЗапрос.ЕдиницаИзмерения.Коэффициент / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент КАК ЧИСЛО(15, 2))
                            КОНЕЦ
                    КОНЕЦ
            КОНЕЦ) КАК Цена,
        МАКСИМУМ(ЦеныНоменклатуры.ПериодЦены) КАК ДатаПоследнегоИзмененияЦены,
        МАКСИМУМ(&ТекущееВремя) КАК ТекущееВремя,
        МАКСИМУМ(Пользователи.Ссылка) КАК ТекущийПользователь,
        МАКСИМУМ(КодыSKU.SKU) КАК SKU,
        МАКСИМУМ(ЦеныНоменклатуры.ПериодЦены) КАК ПериодЦены,
        МАКСИМУМ(ВТ_ОстаткиТоваров.КоличествоОстаток) КАК ОстатокНаСкладе,
        ШтрихкодыНоменклатуры.ОсновнойШтрихкод КАК ОсновнойШтрихкод,
        ВЫБОР
            КОГДА ИсходныеДанныеПоследнийЗапрос.Номенклатура.ЕдиницаДляЦенников = ЗНАЧЕНИЕ(Справочник.КлассификаторЕдиницИзмерения.ПустаяСсылка)
                ТОГДА 0
            КОГДА ИсходныеДанныеПоследнийЗапрос.Номенклатура.СпособРасчетаЦеныНабора = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаЦеныНабора.СкладыватьИзЦенКомплектующих)
                ТОГДА ВЫРАЗИТЬ(ЦеныНаборов.Цена * ИсходныеДанныеПоследнийЗапрос.Номенклатура.Числитель / ИсходныеДанныеПоследнийЗапрос.Номенклатура.Знаменатель КАК ЧИСЛО(15, 2))
            ИНАЧЕ ВЫБОР
                    КОГДА ТИПЗНАЧЕНИЯ(ЦеныНоменклатуры.ЕдиницаИзмерения) = ТИП(Справочник.КлассификаторЕдиницИзмерения)
                        ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Цена * ИсходныеДанныеПоследнийЗапрос.Номенклатура.Числитель / ИсходныеДанныеПоследнийЗапрос.Номенклатура.Знаменатель КАК ЧИСЛО(15, 2))
                    ИНАЧЕ ВЫРАЗИТЬ(ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент * ИсходныеДанныеПоследнийЗапрос.Номенклатура.Числитель / ИсходныеДанныеПоследнийЗапрос.Номенклатура.Знаменатель КАК ЧИСЛО(15, 2))
                КОНЕЦ
        КОНЕЦ КАК ЦенаЗаЕдиницу
    ИЗ
        ИсходныеДанныеИзмененные КАК ИсходныеДанныеПоследнийЗапрос
            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
            ПО ИсходныеДанныеПоследнийЗапрос.Организация.Ссылка = Организации.Ссылка
            ЛЕВОЕ СОЕДИНЕНИЕ ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
            ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
                И ИсходныеДанныеПоследнийЗапрос.Характеристика = ШтрихкодыНоменклатуры.Характеристика
                И ИсходныеДанныеПоследнийЗапрос.Партия = ШтрихкодыНоменклатуры.Партия
                И ИсходныеДанныеПоследнийЗапрос.ЕдиницаИзмерения = ШтрихкодыНоменклатуры.ЕдиницаИзмерения
            ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатурыСУчетомМинимальных КАК ЦеныНоменклатуры
            ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = ЦеныНоменклатуры.Номенклатура
                И ИсходныеДанныеПоследнийЗапрос.Характеристика = ЦеныНоменклатуры.Характеристика
                И ИсходныеДанныеПоследнийЗапрос.Партия = ЦеныНоменклатуры.Партия
                И (ЦеныНоменклатуры.ВидЦен = &ВидЦен)
            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦен КАК ВидыЦен
            ПО (ВидыЦен.Ссылка = &ВидЦен)
            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
            ПО (Пользователи.Ссылка = &ТекущийПользователь)
            ЛЕВОЕ СОЕДИНЕНИЕ КодыSKU КАК КодыSKU
            ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = КодыSKU.Номенклатура
                И ИсходныеДанныеПоследнийЗапрос.Характеристика = КодыSKU.Характеристика
                И ИсходныеДанныеПоследнийЗапрос.Партия = КодыSKU.Партия
                И ИсходныеДанныеПоследнийЗапрос.ЕдиницаИзмерения = КодыSKU.ЕдиницаИзмерения
            ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОстаткиТоваров КАК ВТ_ОстаткиТоваров
            ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = ВТ_ОстаткиТоваров.Номенклатура
                И ИсходныеДанныеПоследнийЗапрос.Характеристика = ВТ_ОстаткиТоваров.Характеристика
            ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНаборов КАК ЦеныНаборов
            ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = ЦеныНаборов.Номенклатура
                И ИсходныеДанныеПоследнийЗапрос.Характеристика = ЦеныНаборов.Характеристика
    
    СГРУППИРОВАТЬ ПО
        ЕСТЬNULL(ИсходныеДанныеПоследнийЗапрос.Номенклатура, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)),
        ЕСТЬNULL(ИсходныеДанныеПоследнийЗапрос.Номенклатура.Наименование, ""),
        ВЫРАЗИТЬ(ИсходныеДанныеПоследнийЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1024)),
        ВЫРАЗИТЬ(ИсходныеДанныеПоследнийЗапрос.Номенклатура.Комментарий КАК СТРОКА(1024)),
        ЕСТЬNULL(ИсходныеДанныеПоследнийЗапрос.Характеристика, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)),
        ЕСТЬNULL(ИсходныеДанныеПоследнийЗапрос.Партия, ЗНАЧЕНИЕ(Справочник.ПартииНоменклатуры.ПустаяСсылка)),
        ЕСТЬNULL(ИсходныеДанныеПоследнийЗапрос.ЕдиницаИзмерения, ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)),
        ШтрихкодыНоменклатуры.Штрихкод,
        ИсходныеДанныеПоследнийЗапрос.ШтрихАвтопроверки,
        ШтрихкодыНоменклатуры.ОсновнойШтрихкод,
        ВЫБОР
            КОГДА ИсходныеДанныеПоследнийЗапрос.Номенклатура.ЕдиницаДляЦенников = ЗНАЧЕНИЕ(Справочник.КлассификаторЕдиницИзмерения.ПустаяСсылка)
                ТОГДА 0
            КОГДА ИсходныеДанныеПоследнийЗапрос.Номенклатура.СпособРасчетаЦеныНабора = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаЦеныНабора.СкладыватьИзЦенКомплектующих)
                ТОГДА ВЫРАЗИТЬ(ЦеныНаборов.Цена * ИсходныеДанныеПоследнийЗапрос.Номенклатура.Числитель / ИсходныеДанныеПоследнийЗапрос.Номенклатура.Знаменатель КАК ЧИСЛО(15, 2))
            ИНАЧЕ ВЫБОР
                    КОГДА ТИПЗНАЧЕНИЯ(ЦеныНоменклатуры.ЕдиницаИзмерения) = ТИП(Справочник.КлассификаторЕдиницИзмерения)
                        ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Цена * ИсходныеДанныеПоследнийЗапрос.Номенклатура.Числитель / ИсходныеДанныеПоследнийЗапрос.Номенклатура.Знаменатель КАК ЧИСЛО(15, 2))
                    ИНАЧЕ ВЫРАЗИТЬ(ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент * ИсходныеДанныеПоследнийЗапрос.Номенклатура.Числитель / ИсходныеДанныеПоследнийЗапрос.Номенклатура.Знаменатель КАК ЧИСЛО(15, 2))
                КОНЕЦ
        КОНЕЦ,
        ЕСТЬNULL(ИсходныеДанныеПоследнийЗапрос.Серия, ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка))) КАК ВложенныйЗапрос

УПОРЯДОЧИТЬ ПО
    ЕСТЬNULL(ВложенныйЗапрос.Номенклатура.Наименование, "")
11 Zombi
 
01.07.24
20:38
Я в этом аду разбираться не стал и просто свернул таблицу результата после этого запроса. Сейчас попробовал выставить тип ценника, как сказано в (7) и все заработало как надо и без моего костыля. Это решение. Спасибо.
12 Злопчинский
 
01.07.24
22:14
(10) лютая дичь ;-)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший