Имя: Пароль:
1C
1С v8
Иерархия номенклатуры в запросах.
0 MAPATNK2
 
naïve
13.05.19
14:49
Добрый день есть запрос, пытаюсь сделать иерархию при выводе результата, но никак. Итоги с Иерархией добавлены, может что-то не так сделала. Подскажите, куда смотреть?





ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
    ВложенныйЗапрос.Период КАК Период,
    Штрихкоды.Штрихкод КАК Штрихкод,
    СУММА(ВложенныйЗапрос.Продано) КАК Продано,
    СУММА(ВЫБОР
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                ТОГДА ВложенныйЗапрос.КоличествоНачальныйОстатокНТТ
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                ТОГДА ВложенныйЗапрос.КоличествоНачальныйОстатокРозничный
            ИНАЧЕ ВложенныйЗапрос.КоличествоНачальныйОстатокОптовый
        КОНЕЦ) КАК КоличествоНачальныйОстаток,
    СУММА(ВЫБОР
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                ТОГДА ВложенныйЗапрос.КоличествоКонечныйОстатокНТТ
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                ТОГДА ВложенныйЗапрос.КоличествоКонечныйОстатокРозничный
            ИНАЧЕ ВложенныйЗапрос.КоличествоКонечныйОстатокОптовый
        КОНЕЦ) КАК КоличествоКонечныйОстаток,
    СУММА(ВЫБОР
            КОГДА &ОстатокКНачалуПериодаЗакупок = 1
                ТОГДА ВЫБОР
                        КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                            ТОГДА ЕСТЬNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0)
                        КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                            ТОГДА ЕСТЬNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0)
                        ИНАЧЕ ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)
                    КОНЕЦ
            ИНАЧЕ ВЫБОР
                    КОГДА &ОстатокКНачалуПериодаЗакупок = 2
                        ТОГДА ВЫБОР
                                КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                                    ТОГДА ЕСТЬNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0)
                                КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                                    ТОГДА ЕСТЬNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0)
                                ИНАЧЕ ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)
                            КОНЕЦ + ЕСТЬNULL(ЗаказыПоставщикамОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0)
                КОНЕЦ
        КОНЕЦ) КАК ОстатокНаДатуНачалаЗакупок
{ВЫБРАТЬ
    Номенклатура.*,
    ХарактеристикаНоменклатуры,
    Штрихкод}
ИЗ
    (ВЫБРАТЬ
        Продажи.Склад КАК Склад,
        Продажи.Номенклатура КАК Номенклатура,
        Продажи.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        Продажи.Период КАК Период,
        СУММА(Продажи.Продано) КАК Продано,
        СУММА(Продажи.КоличествоНачальныйОстатокОптовый) КАК КоличествоНачальныйОстатокОптовый,
        СУММА(Продажи.КоличествоКонечныйОстатокОптовый) КАК КоличествоКонечныйОстатокОптовый,
        СУММА(Продажи.КоличествоНачальныйОстатокНТТ) КАК КоличествоНачальныйОстатокНТТ,
        СУММА(Продажи.КоличествоКонечныйОстатокНТТ) КАК КоличествоКонечныйОстатокНТТ,
        СУММА(Продажи.КоличествоНачальныйОстатокРозничный) КАК КоличествоНачальныйОстатокРозничный,
        СУММА(Продажи.КоличествоКонечныйОстатокРозничный) КАК КоличествоКонечныйОстатокРозничный
    ИЗ
        (ВЫБРАТЬ
            ПродажиОбороты.ДокументПродажи.Склад КАК Склад,
            ПродажиОбороты.Номенклатура КАК Номенклатура,
            ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            ПродажиОбороты.Период КАК Период,
            ПродажиОбороты.КоличествоОборот КАК Продано,
            0 КАК КоличествоНачальныйОстатокОптовый,
            0 КАК КоличествоКонечныйОстатокОптовый,
            0 КАК КоличествоНачальныйОстатокНТТ,
            0 КАК КоличествоКонечныйОстатокНТТ,
            0 КАК КоличествоНачальныйОстатокРозничный,
            0 КАК КоличествоКонечныйОстатокРозничный
        ИЗ
            РегистрНакопления.Продажи.Обороты(&ДатаНачПродаж, &ДатаКонПродаж, День, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ДокументПродажи.Склад).* КАК Склад}) КАК ПродажиОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыНаСкладахОстаткиИОбороты.Склад,
            ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
            ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыНаСкладахОстаткиИОбороты.Период,
            0,
            ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
            0,
            0,
            0,
            0
        ИЗ
            РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыНаСкладахОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыВНТТОстаткиИОбороты.Склад,
            ТоварыВНТТОстаткиИОбороты.Номенклатура,
            ТоварыВНТТОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыВНТТОстаткиИОбороты.Период,
            0,
            0,
            0,
            ТоварыВНТТОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыВНТТОстаткиИОбороты.КоличествоКонечныйОстаток,
            0,
            0
        ИЗ
            РегистрНакопления.ТоварыВНТТ.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВНТТОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыВРозницеОстаткиИОбороты.Склад,
            ТоварыВРозницеОстаткиИОбороты.Номенклатура,
            ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыВРозницеОстаткиИОбороты.Период,
            0,
            0,
            0,
            0,
            0,
            ТоварыВРозницеОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыВРозницеОстаткиИОбороты.КоличествоКонечныйОстаток
        ИЗ
            РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВРозницеОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            Склады.Склад,
            Номенклатура.Ссылка,
            ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка),
            НЕОПРЕДЕЛЕНО,
            0,
            0,
            0,
            0,
            0,
            0,
            0
        ИЗ
            Справочник.Номенклатура КАК Номенклатура
                ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                    ПродажиОбороты.ДокументПродажи.Склад КАК Склад
                ИЗ
                    РегистрНакопления.Продажи.Обороты(&ДатаНачПродаж, &ДатаКонПродаж, , ДокументПродажи.Склад ЕСТЬ НЕ NULL  {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ДокументПродажи.Склад).* КАК Склад}) КАК ПродажиОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыНаСкладахОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыНаСкладахОстаткиИОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыВНТТОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыВНТТ.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВНТТОстаткиИОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыВРозницеОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВРозницеОстаткиИОбороты) КАК Склады
                ПО (&ПоВсейНоменклатуре = ИСТИНА)
        ГДЕ
            Номенклатура.ЭтоГруппа = ЛОЖЬ
            И &ПоВсейНоменклатуре = ИСТИНА
        {ГДЕ
            Номенклатура.Ссылка.* КАК Номенклатура}) КАК Продажи
    
    СГРУППИРОВАТЬ ПО
        Продажи.Склад,
        Продажи.Номенклатура,
        Продажи.ХарактеристикаНоменклатуры,
        Продажи.Период) КАК ВложенныйЗапрос
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаНачЗакупок, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТоварыНаСкладахОстатки
        ПО ВложенныйЗапрос.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ТоварыНаСкладахОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(&ДатаНачЗакупок, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТоварыВНТТОстатки
        ПО ВложенныйЗапрос.Номенклатура = ТоварыВНТТОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ТоварыВНТТОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ТоварыВНТТОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&ДатаНачЗакупок, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТоварыВРозницеОстатки
        ПО ВложенныйЗапрос.Номенклатура = ТоварыВРозницеОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ТоварыВРозницеОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ТоварыВРозницеОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПоставщикамОстатки.ЗаказПоставщику.Склад КАК Склад,
            ЗаказыПоставщикамОстатки.Номенклатура КАК Номенклатура,
            ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            СУММА(ЗаказыПоставщикамОстатки.КоличествоОстаток) КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаКонЗакупок, ЗаказПоставщику.ДатаПоступления <= &ДатаНачалаЗакупок {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПоставщику.Склад).* КАК Склад}) КАК ЗаказыПоставщикамОстатки
        
        СГРУППИРОВАТЬ ПО
            ЗаказыПоставщикамОстатки.ЗаказПоставщику.Склад,
            ЗаказыПоставщикамОстатки.Номенклатура,
            ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры) КАК ЗаказыПоставщикамОстатки
        ПО ВложенныйЗапрос.Номенклатура = ЗаказыПоставщикамОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ЗаказыПоставщикамОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПокупателейОстатки.ЗаказПокупателя.СкладГруппа КАК Склад,
            ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура,
            ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток) КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.ЗаказыПокупателей.Остатки(
                    &ДатаКонЗакупок,
                    ЗаказПокупателя.ДатаОтгрузки <= &ДатаНачалаЗакупок
                        И ЗаказПокупателя.СкладГруппа ССЫЛКА Справочник.Склады {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя.СкладГруппа).* КАК Склад}) КАК ЗаказыПокупателейОстатки
        
        СГРУППИРОВАТЬ ПО
            ЗаказыПокупателейОстатки.ЗаказПокупателя.СкладГруппа,
            ЗаказыПокупателейОстатки.Номенклатура,
            ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры) КАК ЗаказыПокупателейОстатки
        ПО ВложенныйЗапрос.Номенклатура = ЗаказыПокупателейОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ЗаказыПокупателейОстатки.Склад
        {ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            Штрихкоды.Владелец КАК Номенклатура,
            Штрихкоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            МАКСИМУМ(Штрихкоды.Штрихкод) КАК Штрихкод
        ИЗ
            РегистрСведений.Штрихкоды КАК Штрихкоды
        ГДЕ
            Штрихкоды.Владелец ССЫЛКА Справочник.Номенклатура
        
        СГРУППИРОВАТЬ ПО
            Штрихкоды.Владелец,
            Штрихкоды.ХарактеристикаНоменклатуры) КАК Штрихкоды
        ПО ВложенныйЗапрос.Номенклатура = Штрихкоды.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = Штрихкоды.ХарактеристикаНоменклатуры}
{ГДЕ
    ВложенныйЗапрос.Склад.* КАК Склад,
    ВложенныйЗапрос.Номенклатура.* КАК Номенклатура,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры,
    ВложенныйЗапрос.Период,
    Штрихкоды.Штрихкод

УПОРЯДОЧИТЬ ПО
    Номенклатура,
    ХарактеристикаНоменклатуры,
    Период
ИТОГИ
    МАКСИМУМ(Штрихкод),
    СУММА(Продано),
    СУММА(КоличествоНачальныйОстаток),
    СУММА(КоличествоКонечныйОстаток),
    МАКСИМУМ(ОстатокНаДатуНачалаЗакупок)
ПО
    Номенклатура ИЕРАРХИЯ,
    ХарактеристикаНоменклатуры
{ИТОГИ ПО
    Номенклатура,
    ХарактеристикаНоменклатуры}
АВТОУПОРЯДОЧИВАНИЕ
1 sqr4
 
13.05.19
14:52
А где и как выводишь?
2 palsergeich
 
13.05.19
14:53
там нужен обход по группировкам или вывод в ДЗ, так то вроде все верно
3 runoff_runoff
 
13.05.19
14:54
(0) а если в фигурные скобки {ИТОГИ ПО} добавить ИЕРАРХИЯ?..
4 MAPATNK2
 
naïve
13.05.19
14:55
(3) Ничего не изменится
5 MAPATNK2
 
naïve
13.05.19
14:56
(1) (2) Я хотела вывести в таблицу значений. Надеялась, что можно без обхода. Думала, что при выполнении запроса он выведет результат с иерархией, но выводится тот же результат, что и без неё. Значит обязательно делать ДЗ и делать обход?
6 runoff_runoff
 
13.05.19
14:57
(5) такое надо в ДеревоЗначений выгружать..
7 MAPATNK2
 
naïve
13.05.19
14:57
(6) Понятно, спасибо. Просто там дальше обработка результата с изменением идет, придется и там все переписывать, ппц. Всем спасибо.
8 MAPATNK2
 
naïve
13.05.19
15:03
А в поле табличного документа тоже никак? Обязательно дерево нужно?
9 sqr4
 
13.05.19
15:04
(5) по сути они должен был вывести в нее все записи, но не сгруппированные по Иерархии, хотя я могу ошибаться.
10 sqr4
 
13.05.19
15:05
консоль с выгрузкой в дерево показывает нужный результат?
11 MAPATNK2
 
naïve
13.05.19
15:50
Сделала по примеру обработку дерева значений. Как была ТЗ, так и осталась. Никакой иерахии нет (((


/////////////После запроса////////////////
ВыборкаСИерархией=РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"Номенклатура");
Дерево=Новый ДеревоЗначений;
Дерево.Колонки.Добавить("Номенклатура");
ВыбратьЭлементыВИерархии(ВыборкаСИерархией,Дерево);


////////////////////

Процедура ВыбратьЭлементыВИерархии(ВыборкаСИерархией,Дерево)
    Пока ВыборкаСИерархией.Следующий() Цикл
        Если ВыборкаСИерархией.ТипЗаписи()=ТипЗаписиЗапроса.ИтогПоИерархии Тогда
            Строка=Дерево.Строки.Добавить();
            Строка.Номенклатура=ВыборкаСИерархией.Номенклатура;
            ВыбратьЭлементыВИерархии (ВыборкаСИерархией.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"Номенклатура"),Строка);
        ИначеЕсли ВыборкаСИерархией.ТипЗаписи()=ТипЗаписиЗапроса.ИтогПоГруппировке Тогда
            //Тут на самом деле есть еще один уровень, но нам он может потребоваться,
            //только если нужно взять данные на уровне записи
            //Если это нужно, здесь обходим один элемент, забираем из него данные
            Выборка=ВыборкаСИерархией.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
            Пока Выборка.Следующий() Цикл
                Строка=Дерево.Строки.Добавить();
                Строка.Номенклатура=ВыборкаСИерархией.Номенклатура;
            КонецЦикла;
            Строка=Дерево.Строки.Добавить();
            Строка.Номенклатура=ВыборкаСИерархией.Номенклатура;
        КонецЕсли;  
    КонецЦикла;
КонецПроцедуры
12 sqr4
 
13.05.19
16:22
а в номенклатуре то есть папки?
13 hhhh
 
13.05.19
16:37
(11) вот тут что-то хрень какая-то

     Выборка=ВыборкаСИерархией.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);


почему ПоГруппировкам  ??
14 Rovan
 
гуру
13.05.19
16:48
(+13) Точно ! вот он - больной зуб !

https://studopedia.org/8-161917.html
15 MAPATNK2
 
naïve
13.05.19
21:21
(12) конечно
16 palsergeich
 
13.05.19
21:31
(15) Стопэ.
Судя по этим скобкам {} или СКД или Построитель.
Ничего не знаю про построитель, но СКД не использует итоги запроса, а делает свои.
17 palsergeich
 
13.05.19
21:34
и вот эти штуки намекают что это не просто запрос .*
18 palsergeich
 
13.05.19
21:43
А если это все таки построитель, то ПостроительОтчета.ПолучитьЗапрос().Текст и посмотри что там.
19 palsergeich
 
13.05.19
21:49
Вопрос снимается, это не СКД, СКД не приемлет ключевое слово ИТОГИ.
Я бы проверил совпадает ли текст запроса построителя и ожидаемый, по крайней мере СКД этим грешит
20 MAPATNK2
 
naïve
14.05.19
10:52
(19) Это построитель, всё совпадает, именно из "построительОтчета.текстЗапроса" я отправила выше запрос.
Изначально запрос был без Итогов по Иерархии, итоги были по элементам. Теперь захотела добавить иерархию к своей обработке, но что-то все никак не выходит.
21 MAPATNK2
 
naïve
14.05.19
10:53
причем, если кинуть запрос в консоль запросов и добавить группировку по иерархии номенклатуры, то все выводится как надо. А в построителе то как добавить эти же действия, программно, не понятно.
22 MAPATNK2
 
naïve
14.05.19
11:53
Получила дерево, просто забыла добавить реквизит Ссылка в запрос, по нему сделала иерархию, и уже по этому ревизиту сделала обход с иерархией. Все заработало.


////////////////////////////Текст запроса Итог//////////////////////

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
    ВложенныйЗапрос.Период КАК Период,
    Штрихкоды.Штрихкод КАК Штрихкод,
    СУММА(ВложенныйЗапрос.Продано) КАК Продано,
    СУММА(ВЫБОР
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                ТОГДА ВложенныйЗапрос.КоличествоНачальныйОстатокНТТ
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                ТОГДА ВложенныйЗапрос.КоличествоНачальныйОстатокРозничный
            ИНАЧЕ ВложенныйЗапрос.КоличествоНачальныйОстатокОптовый
        КОНЕЦ) КАК КоличествоНачальныйОстаток,
    СУММА(ВЫБОР
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                ТОГДА ВложенныйЗапрос.КоличествоКонечныйОстатокНТТ
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                ТОГДА ВложенныйЗапрос.КоличествоКонечныйОстатокРозничный
            ИНАЧЕ ВложенныйЗапрос.КоличествоКонечныйОстатокОптовый
        КОНЕЦ) КАК КоличествоКонечныйОстаток,
    СУММА(ВЫБОР
            КОГДА &ОстатокКНачалуПериодаЗакупок = 1
                ТОГДА ВЫБОР
                        КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                            ТОГДА ЕСТЬNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0)
                        КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                            ТОГДА ЕСТЬNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0)
                        ИНАЧЕ ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)
                    КОНЕЦ
            ИНАЧЕ ВЫБОР
                    КОГДА &ОстатокКНачалуПериодаЗакупок = 2
                        ТОГДА ВЫБОР
                                КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                                    ТОГДА ЕСТЬNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0)
                                КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                                    ТОГДА ЕСТЬNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0)
                                ИНАЧЕ ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)
                            КОНЕЦ + ЕСТЬNULL(ЗаказыПоставщикамОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0)
                КОНЕЦ
        КОНЕЦ) КАК ОстатокНаДатуНачалаЗакупок,
    ВложенныйЗапрос.Номенклатура.Ссылка КАК Ссылка
{ВЫБРАТЬ
    Номенклатура.*,
    ХарактеристикаНоменклатуры,
    Штрихкод}
ИЗ
    (ВЫБРАТЬ
        Продажи.Склад КАК Склад,
        Продажи.Номенклатура КАК Номенклатура,
        Продажи.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        Продажи.Период КАК Период,
        СУММА(Продажи.Продано) КАК Продано,
        СУММА(Продажи.КоличествоНачальныйОстатокОптовый) КАК КоличествоНачальныйОстатокОптовый,
        СУММА(Продажи.КоличествоКонечныйОстатокОптовый) КАК КоличествоКонечныйОстатокОптовый,
        СУММА(Продажи.КоличествоНачальныйОстатокНТТ) КАК КоличествоНачальныйОстатокНТТ,
        СУММА(Продажи.КоличествоКонечныйОстатокНТТ) КАК КоличествоКонечныйОстатокНТТ,
        СУММА(Продажи.КоличествоНачальныйОстатокРозничный) КАК КоличествоНачальныйОстатокРозничный,
        СУММА(Продажи.КоличествоКонечныйОстатокРозничный) КАК КоличествоКонечныйОстатокРозничный
    ИЗ
        (ВЫБРАТЬ
            ПродажиОбороты.ДокументПродажи.Склад КАК Склад,
            ПродажиОбороты.Номенклатура КАК Номенклатура,
            ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            ПродажиОбороты.Период КАК Период,
            ПродажиОбороты.КоличествоОборот КАК Продано,
            0 КАК КоличествоНачальныйОстатокОптовый,
            0 КАК КоличествоКонечныйОстатокОптовый,
            0 КАК КоличествоНачальныйОстатокНТТ,
            0 КАК КоличествоКонечныйОстатокНТТ,
            0 КАК КоличествоНачальныйОстатокРозничный,
            0 КАК КоличествоКонечныйОстатокРозничный
        ИЗ
            РегистрНакопления.Продажи.Обороты(&ДатаНачПродаж, &ДатаКонПродаж, День, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ДокументПродажи.Склад).* КАК Склад}) КАК ПродажиОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыНаСкладахОстаткиИОбороты.Склад,
            ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
            ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыНаСкладахОстаткиИОбороты.Период,
            0,
            ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
            0,
            0,
            0,
            0
        ИЗ
            РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыНаСкладахОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыВНТТОстаткиИОбороты.Склад,
            ТоварыВНТТОстаткиИОбороты.Номенклатура,
            ТоварыВНТТОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыВНТТОстаткиИОбороты.Период,
            0,
            0,
            0,
            ТоварыВНТТОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыВНТТОстаткиИОбороты.КоличествоКонечныйОстаток,
            0,
            0
        ИЗ
            РегистрНакопления.ТоварыВНТТ.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВНТТОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыВРозницеОстаткиИОбороты.Склад,
            ТоварыВРозницеОстаткиИОбороты.Номенклатура,
            ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыВРозницеОстаткиИОбороты.Период,
            0,
            0,
            0,
            0,
            0,
            ТоварыВРозницеОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыВРозницеОстаткиИОбороты.КоличествоКонечныйОстаток
        ИЗ
            РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВРозницеОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            Склады.Склад,
            Номенклатура.Ссылка,
            ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка),
            НЕОПРЕДЕЛЕНО,
            0,
            0,
            0,
            0,
            0,
            0,
            0
        ИЗ
            Справочник.Номенклатура КАК Номенклатура
                ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                    ПродажиОбороты.ДокументПродажи.Склад КАК Склад
                ИЗ
                    РегистрНакопления.Продажи.Обороты(&ДатаНачПродаж, &ДатаКонПродаж, , ДокументПродажи.Склад ЕСТЬ НЕ NULL  {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ДокументПродажи.Склад).* КАК Склад}) КАК ПродажиОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыНаСкладахОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыНаСкладахОстаткиИОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыВНТТОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыВНТТ.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВНТТОстаткиИОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыВРозницеОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВРозницеОстаткиИОбороты) КАК Склады
                ПО (&ПоВсейНоменклатуре = ИСТИНА)
        ГДЕ
            Номенклатура.ЭтоГруппа = ЛОЖЬ
            И &ПоВсейНоменклатуре = ИСТИНА
        {ГДЕ
            Номенклатура.Ссылка.* КАК Номенклатура}) КАК Продажи
    
    СГРУППИРОВАТЬ ПО
        Продажи.Склад,
        Продажи.Номенклатура,
        Продажи.ХарактеристикаНоменклатуры,
        Продажи.Период) КАК ВложенныйЗапрос
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаНачЗакупок, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТоварыНаСкладахОстатки
        ПО ВложенныйЗапрос.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ТоварыНаСкладахОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(&ДатаНачЗакупок, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТоварыВНТТОстатки
        ПО ВложенныйЗапрос.Номенклатура = ТоварыВНТТОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ТоварыВНТТОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ТоварыВНТТОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&ДатаНачЗакупок, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТоварыВРозницеОстатки
        ПО ВложенныйЗапрос.Номенклатура = ТоварыВРозницеОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ТоварыВРозницеОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ТоварыВРозницеОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПоставщикамОстатки.ЗаказПоставщику.Склад КАК Склад,
            ЗаказыПоставщикамОстатки.Номенклатура КАК Номенклатура,
            ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            СУММА(ЗаказыПоставщикамОстатки.КоличествоОстаток) КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаКонЗакупок, ЗаказПоставщику.ДатаПоступления <= &ДатаНачалаЗакупок {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПоставщику.Склад).* КАК Склад}) КАК ЗаказыПоставщикамОстатки
        
        СГРУППИРОВАТЬ ПО
            ЗаказыПоставщикамОстатки.ЗаказПоставщику.Склад,
            ЗаказыПоставщикамОстатки.Номенклатура,
            ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры) КАК ЗаказыПоставщикамОстатки
        ПО ВложенныйЗапрос.Номенклатура = ЗаказыПоставщикамОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ЗаказыПоставщикамОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПокупателейОстатки.ЗаказПокупателя.СкладГруппа КАК Склад,
            ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура,
            ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток) КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.ЗаказыПокупателей.Остатки(
                    &ДатаКонЗакупок,
                    ЗаказПокупателя.ДатаОтгрузки <= &ДатаНачалаЗакупок
                        И ЗаказПокупателя.СкладГруппа ССЫЛКА Справочник.Склады {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя.СкладГруппа).* КАК Склад}) КАК ЗаказыПокупателейОстатки
        
        СГРУППИРОВАТЬ ПО
            ЗаказыПокупателейОстатки.ЗаказПокупателя.СкладГруппа,
            ЗаказыПокупателейОстатки.Номенклатура,
            ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры) КАК ЗаказыПокупателейОстатки
        ПО ВложенныйЗапрос.Номенклатура = ЗаказыПокупателейОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ЗаказыПокупателейОстатки.Склад
        {ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            Штрихкоды.Владелец КАК Номенклатура,
            Штрихкоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            МАКСИМУМ(Штрихкоды.Штрихкод) КАК Штрихкод
        ИЗ
            РегистрСведений.Штрихкоды КАК Штрихкоды
        ГДЕ
            Штрихкоды.Владелец ССЫЛКА Справочник.Номенклатура
        
        СГРУППИРОВАТЬ ПО
            Штрихкоды.Владелец,
            Штрихкоды.ХарактеристикаНоменклатуры) КАК Штрихкоды
        ПО ВложенныйЗапрос.Номенклатура = Штрихкоды.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = Штрихкоды.ХарактеристикаНоменклатуры}
{ГДЕ
    ВложенныйЗапрос.Склад.* КАК Склад,
    ВложенныйЗапрос.Номенклатура.* КАК Номенклатура,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры,
    ВложенныйЗапрос.Период,
    Штрихкоды.Штрихкод,
    ВложенныйЗапрос.Номенклатура.Ссылка

УПОРЯДОЧИТЬ ПО
    Номенклатура,
    ХарактеристикаНоменклатуры,
    Период
ИТОГИ
    МАКСИМУМ(Штрихкод),
    СУММА(Продано),
    СУММА(КоличествоНачальныйОстаток),
    СУММА(КоличествоКонечныйОстаток),
    МАКСИМУМ(ОстатокНаДатуНачалаЗакупок)
ПО
    Номенклатура,
    ХарактеристикаНоменклатуры,
    Ссылка ИЕРАРХИЯ
{ИТОГИ ПО
    Номенклатура,
    ХарактеристикаНоменклатуры}
АВТОУПОРЯДОЧИВАНИЕ
//////////////////////////////////Конец Запроса/////////////////////////

/////////////////////////////////Начало обработки данных////////////////////////
ВыборкаСИерархией=РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"Ссылка");
            Дерево=Новый ДеревоЗначений;
            Дерево.Колонки.Добавить("Номенклатура");
            ВыбратьЭлементыВИерархии(ВыборкаСИерархией,Дерево);
            ЭтаФорма.ТабличноеПоле1=Дерево.Скопировать();

Процедура ВыбратьЭлементыВИерархии(ВыборкаСИерархией,Дерево)
    Пока ВыборкаСИерархией.Следующий() Цикл
        Если ВыборкаСИерархией.ТипЗаписи()=ТипЗаписиЗапроса.ИтогПоИерархии Тогда
            Строка=Дерево.Строки.Добавить();
            Строка.Номенклатура=ВыборкаСИерархией.Ссылка;
            ВыбратьЭлементыВИерархии (ВыборкаСИерархией.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"Ссылка"),Строка);
        ИначеЕсли ВыборкаСИерархией.ТипЗаписи()=ТипЗаписиЗапроса.ИтогПоГруппировке Тогда
            //Тут на самом деле есть еще один уровень, но нам он может потребоваться,
            //только если нужно взять данные на уровне записи
            //Если это нужно, здесь обходим один элемент, забираем из него данные
            Выборка=ВыборкаСИерархией.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
            Пока Выборка.Следующий() Цикл
                Строка=Дерево.Строки.Добавить();
                //Строка.Номенклатура=ВыборкаСИерархией.Ссылка;
                Строка.Номенклатура=Выборка.Ссылка;
            КонецЦикла;
            Строка=Дерево.Строки.Добавить();
            Строка.Номенклатура=ВыборкаСИерархией.Ссылка;
        КонецЕсли;  
    КонецЦикла;
КонецПроцедуры

/////////////////////////////////Конец обработки данных////////////////////////
23 MAPATNK2
 
naïve
14.05.19
11:54
На форме есть табличное поле с типом дерево значений. как поместить мое дерево туда?
24 MAPATNK2
 
naïve
14.05.19
11:54
Желательно без добавления колонок вручную, так как они будут постоянно менятся.
25 sqr4
 
14.05.19
11:56
Программно создавать данное дерево на форме...
а если не секрет зачем это все
26 MAPATNK2
 
naïve
14.05.19
11:57
А можно так???? ЭтаФорма.ТабличноеПоле1=Дерево.Скопировать();
27 MAPATNK2
 
naïve
14.05.19
11:58
(25) планирование закупок.
28 palsergeich
 
14.05.19
11:59
Уф/оф?
29 sqr4
 
14.05.19
12:00
(26) Вроде как нет.
Для ОФ

Результат = Запрос.Выполнить();
    ДеревоНоменклатуры = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);

    ЭлементыФормы.фДеревоНоменклатуры.СоздатьКолонки();
30 runoff_runoff
 
14.05.19
12:01
(26) ЗначениеВДанныеФормы() нужно..
31 sqr4
 
14.05.19
12:01
(26) Вернее да
32 MAPATNK2
 
naïve
14.05.19
12:18
Спасибо большое