Имя: Пароль:
1C
 
ВПФ
0 1Сnewk
 
10.06.24
13:57
Подскажите пожалуйста, как вывести единицы измерения, выводит только там не не изменяется Номенклатура на НоменклатураКонтрагентов. Нужно, чтобы в обоих случаях заполнялась Ед.изм. Думала напрямую из документа вывести, но никак... Код, где встречаются Ед.изм 🙄
Код 1: В этом запросе выводит (в консоле)
ВЫБРАТЬ
    Таблица.Ссылка КАК Ссылка,
    ВариантыКомплектацииНоменклатуры.Ссылка КАК ВариантКомплектацииНоменклатуры,
    ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
    ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
    Таблица.НоменклатураНабора КАК НоменклатураНабора,
    Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
    Таблица.НомерСтроки КАК НомерСтроки,
    ВЫБОР
        КОГДА Таблица.НоменклатураПартнера = ЗНАЧЕНИЕ(Справочник.НоменклатураКонтрагентов.ПустаяСсылка)
            ТОГДА Таблица.Номенклатура
        ИНАЧЕ Таблица.НоменклатураПартнера
    КОНЕЦ КАК Номенклатура,
    Таблица.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    Таблица.Характеристика КАК Характеристика,
    Таблица.Упаковка КАК Упаковка,
    Таблица.Количество КАК Количество,
    Таблица.КоличествоУпаковок КАК КоличествоУпаковок,
    ВЫБОР
        КОГДА &ОтображатьСкидки
            ТОГДА Таблица.Цена
        ИНАЧЕ Таблица.Сумма / Таблица.КоличествоУпаковок
    КОНЕЦ КАК Цена,
    Таблица.Сумма КАК Сумма,
    Таблица.СтавкаНДС КАК СтавкаНДС,
    Таблица.СуммаНДС КАК СуммаНДС,
    Таблица.ДатаОтгрузки КАК ДатаОтгрузки,
    ВЫБОР
        КОГДА Таблица.Ссылка.ВернутьМногооборотнуюТару
                И Таблица.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЭтоВозвратнаяТара,
    ВЫБОР
        КОГДА &ОтображатьСкидки
            ТОГДА Таблица.СуммаРучнойСкидки + Таблица.СуммаАвтоматическойСкидки
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаСкидки,
    Таблица.Сумма + Таблица.СуммаРучнойСкидки + Таблица.СуммаАвтоматическойСкидки КАК СуммаБезСкидки,
    Таблица.Содержание КАК Содержание
ПОМЕСТИТЬ Товары
ИЗ
    Документ.ЗаказКлиента.Товары КАК Таблица
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
        ПО (ВариантыКомплектацииНоменклатуры.Владелец = Таблица.НоменклатураНабора)
            И (ВариантыКомплектацииНоменклатуры.Характеристика = Таблица.ХарактеристикаНабора)
            И (ВариантыКомплектацииНоменклатуры.Основной)
ГДЕ
    Таблица.Ссылка В(&МассивОбъектов)
    И Таблица.Отменено = ЛОЖЬ
    И (Таблица.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
            ИЛИ Таблица.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
                И (НЕ Таблица.Ссылка.ВернутьМногооборотнуюТару
                    ИЛИ Таблица.Ссылка.ТребуетсяЗалогЗаТару))
;


Код 2: Здесь ед.изм  в консоле уже не выводит...

ВЫБРАТЬ
    |    Товары.Ссылка КАК Ссылка,
    |    Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
    |    Товары.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
    |    Товары.НоменклатураНабора КАК НоменклатураНабора,
    |    ЕСТЬNULL(НоменклатураНабораПредставления.НаименованиеПолное, Товары.НоменклатураНабора.НаименованиеПолное) КАК НоменклатураНабораНаименованиеПолное,
    |    Товары.ХарактеристикаНабора КАК ХарактеристикаНабора,
    |    ЕСТЬNULL(ХарактеристикиНоменклатурыНабораПредставления.НаименованиеПолное, ЕСТЬNULL(Товары.ХарактеристикаНабора.НаименованиеПолное, """")) КАК ХарактеристикаНабораНаименованиеПолное,
    |    Товары.ЭтоНабор КАК ЭтоНабор,
    |    Товары.ЭтоКомплектующие КАК ЭтоКомплектующие,
    |    Товары.НомерСтроки КАК НомерСтроки,
    |    Товары.Номенклатура КАК Номенклатура,
    |    Товары.Номенклатура.Код КАК Код,
    |    Товары.Номенклатура.Артикул КАК Артикул,
    |    ЕСТЬNULL(НоменклатураПредставления.НаименованиеПолное, Товары.Номенклатура.НаименованиеПолное) КАК НаименованиеПолное,
    |    Товары.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    //|   &ТекстЗапросаНаименованиеЕдиницыИзмерения КАК ЕдиницаИзмерения,
    |    Товары.КоличествоУпаковок КАК Количество,
    |    Товары.Цена КАК Цена,
    |    Товары.Сумма КАК Сумма,
    |    Товары.СтавкаНДС КАК СтавкаНДС,
    |    Товары.СуммаНДС КАК СуммаНДС,
    |    НЕОПРЕДЕЛЕНО КАК ВидЦеныИсполнителя,
    |    Товары.ДатаОтгрузки КАК ДатаОтгрузки,
    |    ЕСТЬNULL(ХарактеристикиНоменклатурыПредставления.НаименованиеПолное, ЕСТЬNULL(Товары.Характеристика.НаименованиеПолное, """")) КАК Характеристика,
    |    ВЫБОР
    |        КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1
    |            ТОГДА НЕОПРЕДЕЛЕНО
    |        ИНАЧЕ Товары.Упаковка.Наименование
    |    КОНЕЦ КАК Упаковка,
    |    Товары.СуммаСкидки КАК СуммаСкидки,
    |    Товары.СуммаБезСкидки КАК СуммаБезСкидки,
    |    Товары.Содержание КАК Содержание,
    |    Товары.ЭтоВозвратнаяТара КАК ЭтоВозвратнаяТара
    |ИЗ
    |    (ВЫБРАТЬ
    |        Таблица.Ссылка КАК Ссылка,
    |        ВЫБОР
    |            КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
    |                ТОГДА ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах
    |            ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ПустаяСсылка)
    |        КОНЕЦ КАК ВариантПредставленияНабораВПечатныхФормах,
    |        ВЫБОР
    |            КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
    |                ТОГДА ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора
    |            ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)
    |        КОНЕЦ КАК ВариантРасчетаЦеныНабора,
    |        Таблица.НоменклатураНабора КАК НоменклатураНабора,
    |        Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
    |        ВЫБОР
    |            КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
    |                ТОГДА ИСТИНА
    |            ИНАЧЕ ЛОЖЬ
    |        КОНЕЦ КАК ЭтоКомплектующие,
    |        ЛОЖЬ КАК ЭтоНабор,
    |        ВЫБОР
    |            КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
    |                ТОГДА ВременнаяТаблицаНаборы.НомерСтроки
    |            ИНАЧЕ Таблица.НомерСтроки
    |        КОНЕЦ КАК НомерСтроки,
    |        Таблица.Номенклатура КАК Номенклатура,
    |        Таблица.Количество КАК Количество,
    |        Таблица.КоличествоУпаковок КАК КоличествоУпаковок,
    |        Таблица.Цена КАК Цена,
    |        Таблица.Сумма КАК Сумма,
    |        Таблица.СтавкаНДС КАК СтавкаНДС,
    |        Таблица.СуммаНДС КАК СуммаНДС,
    |        Таблица.ДатаОтгрузки КАК ДатаОтгрузки,
    |        Таблица.Характеристика КАК Характеристика,
    |        Таблица.Упаковка КАК Упаковка,
    |        Таблица.СуммаСкидки КАК СуммаСкидки,
    |        Таблица.СуммаБезСкидки КАК СуммаБезСкидки,
    |        Таблица.Содержание КАК Содержание,
    |        Таблица.ЭтоВозвратнаяТара КАК ЭтоВозвратнаяТара
    |    ИЗ
    |        Товары КАК Таблица
    |            ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
    |            ПО (ВременнаяТаблицаНаборы.НоменклатураНабора = Таблица.НоменклатураНабора)
    |                И (ВременнаяТаблицаНаборы.ХарактеристикаНабора = Таблица.ХарактеристикаНабора)
    |                И (ВременнаяТаблицаНаборы.Ссылка = Таблица.Ссылка)
    |    ГДЕ
    |        (Таблица.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    |                ИЛИ Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    |                    И ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоКомплектующие), ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)))
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ВременнаяТаблицаНаборы.Ссылка,
    |        ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах,
    |        ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора,
    |        ВременнаяТаблицаНаборы.НоменклатураНабора,
    |        ВременнаяТаблицаНаборы.ХарактеристикаНабора,
    |        ЛОЖЬ,
    |        ИСТИНА,
    |        ВременнаяТаблицаНаборы.НомерСтроки,
    |        ВременнаяТаблицаНаборы.НоменклатураНабора,
    |        ВременнаяТаблицаНаборы.Количество,
    |        ВременнаяТаблицаНаборы.КоличествоУпаковок,
    |        ВЫБОР
    |            КОГДА &ОтображатьСкидки
    |                ТОГДА ВЫБОР
    |                        КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1) <> 0
    |                            ТОГДА ВременнаяТаблицаНаборы.СуммаБезСкидки / ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1)
    |                        ИНАЧЕ 0
    |                    КОНЕЦ
    |            ИНАЧЕ ВЫБОР
    |                    КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1) <> 0
    |                        ТОГДА ВременнаяТаблицаНаборы.Сумма / ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1)
    |                    ИНАЧЕ 0
    |                КОНЕЦ
    |        КОНЕЦ,
    |        ВременнаяТаблицаНаборы.Сумма,
    |        ВременнаяТаблицаНаборы.СтавкаНДС,
    |        ВременнаяТаблицаНаборы.СуммаНДС,
    |        ВременнаяТаблицаНаборы.ДатаОтгрузки,
    |        ВременнаяТаблицаНаборы.ХарактеристикаНабора,
    |        ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка),
    |        ВременнаяТаблицаНаборы.СуммаСкидки,
    |        ВременнаяТаблицаНаборы.СуммаБезСкидки,
    |        """",
    |        ЛОЖЬ
    |    ИЗ
    |        ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
    |    ГДЕ
    |        ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоНабор), ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие))) КАК Товары
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.Представления КАК НоменклатураПредставления
    |        ПО Товары.Номенклатура = НоменклатураПредставления.Ссылка
    |            И (НоменклатураПредставления.КодЯзыка = &КодЯзыка)
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.Представления КАК ХарактеристикиНоменклатурыПредставления
    |        ПО Товары.Характеристика = ХарактеристикиНоменклатурыПредставления.Ссылка
    |            И (ХарактеристикиНоменклатурыПредставления.КодЯзыка = &КодЯзыка)
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.Представления КАК НоменклатураНабораПредставления
    |        ПО Товары.НоменклатураНабора = НоменклатураНабораПредставления.Ссылка
    |            И (НоменклатураНабораПредставления.КодЯзыка = &КодЯзыка)
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.Представления КАК ХарактеристикиНоменклатурыНабораПредставления
    |        ПО Товары.ХарактеристикаНабора = ХарактеристикиНоменклатурыНабораПредставления.Ссылка
    |            И (ХарактеристикиНоменклатурыНабораПредставления.КодЯзыка = &КодЯзыка)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Товары.НомерСтроки,
    |    ЭтоНабор УБЫВ";
    
    Запрос.Текст = СтрЗаменить(Запрос.Текст,
        "&ТекстЗапросаКоэффициентУпаковки",
        Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
            "Товары.Упаковка",
            "Товары.Номенклатура"));
        
    Запрос.Текст = СтрЗаменить(Запрос.Текст,
        "&ТекстЗапросаНаименованиеЕдиницыИзмерения",
        Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
            "Наименование",
            "Товары.Упаковка",
            "Товары.Номенклатура"));
    
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    Запрос.УстановитьПараметр("ОтображатьСкидки", ОтображатьСкидки);
    Запрос.УстановитьПараметр("КодЯзыка", КодЯзыка);
    
    ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
1 Ненавижу 1С
 
10.06.24
14:05
может единицу измерения брать из документа? А если не заполнена, то из Номенклатуры? Сейчас вы берете как из Номенклатуры, так и из НоменклатурыКонтрагентов
2 Мультук
 
10.06.24
14:24
(0)

1) Лучше бы вы написали вашу версию  УТ
2) Внезапно, в УТ, в заказах клиента ед.изм может храниться, как пустая ссылка
3) Вы же её сами закомментировали, разве нет ?

//|   &ТекстЗапросаНаименованиеЕдиницыИзмерения КАК ЕдиницаИзмерения,
3 1Сnewk
 
10.06.24
14:56
В самом документе не нашла такого реквизита, только у справочника Номенклатура. Поэтому и пытаюсь обойти. Сделала так же как и с номенклатурой через выбор,в консоле все норм выводит, в ВПФ не хочет...
4 1Сnewk
 
10.06.24
14:56
(2) КА 2.5 типовая
5 1Сnewk
 
10.06.24
15:00
(2) Закомментировала, т.к. так он выводит только ед.изм Номенклатуры.
6 Лирик
 
10.06.24
15:08
(3) В "самом документе" этот реквизит называется "Упаковка"
7 Мультук
 
10.06.24
15:42
(5)
И слава богу.

Допустим, у вас в заказе клиента:

"Шмурдяк № 1" 10 "упак"

А вы хотите чтобы было

"Шардонэ с нежным вкусом" 10 "упак"

И если вы будете брать единицу измерения из Номенклатуры поставщика,
то может пролучится так

"Шардонэ с нежым вкусом" 10 "шт"

или так

"Шардонэ с нежым вкусом" 10 "л"

И будет (наверное) совсем нехорошо ?
8 1Сnewk
 
11.06.24
06:14
(7) Это я осознаю, для чего это сделано)) Но факт в том, что нужно вывести))
9 1Сnewk
 
11.06.24
06:15
(6) Неа, пусто(((
10 unbred
 
11.06.24
07:28
ну посмотри ты как в самом доке заполняется, да выведи. мрак..
11 Мультук
 
11.06.24
07:41
(10)

ДА ПУСТО ПУСТО У НЕЁ в документе в упаковках.
И это типовое поведение УТ 11.5 /ЕРП  2.5

Чтобы не было пусто в печатной форме, 1С придумала вот эти чудеса

Запрос.Текст = СтрЗаменить(Запрос.Текст,
        "&ТекстЗапросаНаименованиеЕдиницыИзмерения",
        Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
            "Наименование",
            "Товары.Упаковка",
            "Товары.Номенклатура"));
12 Лирик
 
11.06.24
09:42
Ох вы и даете :(
Решение следующее:
В запросе собирающем временную таблицу убрать конструкцию:
ВЫБОР
        КОГДА Таблица.НоменклатураПартнера = ЗНАЧЕНИЕ(Справочник.НоменклатураКонтрагентов.ПустаяСсылка)
            ТОГДА Таблица.Номенклатура
        ИНАЧЕ Таблица.НоменклатураПартнера
    КОНЕЦ КАК Номенклатура

и просто добавить в выборку НоменклатуруПартнера
Таблица.Номенклатура,
Таблица.НоменклатураПартнера,

А вот в запросе формирующим саму выборку сделать "Выбор"
поля формирующие единицы оставить без изменения
13 unbred
 
11.06.24
12:15
(11) гляжу в книгу...
я говорю, как выводится в документе, а не как в документе.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс