Имя: Пароль:
1C
1С v8
доп реквизиты в печатную форму
0 HD_DoG
 
17.09.20
09:20
Добрый день. 1С ут 11.4. Имеется два доп реквизита номенклатуры (Ячейка хранения и годен до). Как вывести оба в печатную форму. По коду выводит только ячейку хранения в оба столбца. Подскажите, как правильно написать условие. Заранее признателен.
        |       НоменклатураДополнительныеРеквизиты.Значение КАК ЯчейкаХранения,
    |    НоменклатураДополнительныеРеквизиты.Значение КАК ГоденДо,
    |    ЕСТЬNULL(ВЫРАЗИТЬ(НоменклатураДополнительныеРеквизиты.Значение КАК ЧИСЛО), 0) * Товары.Количество КАК ВесСтроки
    |ИЗ
    |    (ВЫБРАТЬ
    |        Таблица.Ссылка КАК Ссылка,
    |        ВЫБОР
    |            КОГДА ЕСТЬ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 dka80
 
17.09.20
09:35
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураЯчейка
    |        ПО Товары.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка
    |        И (НоменклатураДополнительныеРеквизиты.Свойство.Имя = ""ЯчейкаХранения"")
  ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураГоденДо
    |        ПО Товары.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка
    |        И (НоменклатураДополнительныеРеквизиты.Свойство.Имя = ""ГоденДо"")
2 HD_DoG
 
17.09.20
09:46
dka80, спасибо, но ошибка: ((589, 34)} Поле не найдено "НоменклатураДополнительныеРеквизиты.Ссылка" ПО Товары. Номенклатура = <<?>>НоменклатураДополнительныеРеквизиты. Ссылка
3 SuperMario
 
17.09.20
10:28
(2) тебе в (1) дали идею , как собрать запрос.
А ты скопипастил его и надеешся , что сразу зайдет?
4 dka80
 
17.09.20
10:29
(2) ну мля. Почему некоторые считают, что им тут полноценный рабочий код выложат? Я это на коленках грифелем написал, чтобы ты понял основную идею: нужно два левых соединения по каждому допсвойству в отдельности
5 HD_DoG
 
17.09.20
10:33
Спасибо, я только учусь. Что сразу нападать то
Закон Брукера: Даже маленькая практика стоит большой теории.