Имя: Пароль:
1C
1С v8
Помогите восстановить запрос
🠗Ø (Волшебник 17.05.2017 13:36)
0 PCcomCat
 
17.05.17
13:28
Доброго времени, уважаемые!
Вчера сделала рабочий функционал, сегодня дооформила, по запарке грохнула форму и приняла изменения. Теперь восстанавливаю, но не получаю того же результата - где-то туплю...
Окажите помощь!

Суть: с помощью построителя получить дерево значений, где группировки собраны в одной колонке:
+Участок
  +НоваяГруппа
     +Группа
        +Заказ
          +НомерИзделия
             +Деталь
1 PCcomCat
 
17.05.17
13:29
Делаю вот так:

Процедура ЗаполнитьДеревоЗагрузкиПроизводства()
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТабЗагрузки", ТаблицаЗагрузкиПроизводства);
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ТаблицаЗагрузкиПроизводства.УчастокПроизводства,
    |    ТаблицаЗагрузкиПроизводства.ВидЗагрузкиПроизводства,
    |    ТаблицаЗагрузкиПроизводства.НоваяГруппа,
    |    ТаблицаЗагрузкиПроизводства.Группа,
    |    ТаблицаЗагрузкиПроизводства.Заказ,
    |    ТаблицаЗагрузкиПроизводства.НомерИзделия,
    |    ТаблицаЗагрузкиПроизводства.Изделие,
    |    ТаблицаЗагрузкиПроизводства.Деталь,
    |    ТаблицаЗагрузкиПроизводства.КоличествоДеталейПринято,
    |    ТаблицаЗагрузкиПроизводства.ВремяВыполненияСекундыПринято
    |ПОМЕСТИТЬ ТаблицаЗагрузкиПроизводства
    |ИЗ
    |    &ТабЗагрузки КАК ТаблицаЗагрузкиПроизводства
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ЛОЖЬ КАК Флаг,
    |    ТаблицаЗагрузкиПроизводства.Деталь КАК Показатель,
    |    ТаблицаЗагрузкиПроизводства.ВидЗагрузкиПроизводства,
    |    ТаблицаЗагрузкиПроизводства.КоличествоДеталейПринято КАК КоличествоДеталейПринято,
    |    ТаблицаЗагрузкиПроизводства.ВремяВыполненияСекундыПринято КАК ВремяВыполненияСекундыПринято
    |ИЗ
    |    ТаблицаЗагрузкиПроизводства КАК ТаблицаЗагрузкиПроизводства
    |ИТОГИ
    |    ВЫБОР
    |        КОГДА ТаблицаЗагрузкиПроизводства.НоваяГруппа ЕСТЬ NULL
    |            ТОГДА МАКСИМУМ(ТаблицаЗагрузкиПроизводства.УчастокПроизводства)
    |        КОГДА ТаблицаЗагрузкиПроизводства.Группа ЕСТЬ NULL
    |            ТОГДА МАКСИМУМ(ТаблицаЗагрузкиПроизводства.НоваяГруппа)
    |        КОГДА ТаблицаЗагрузкиПроизводства.Заказ ЕСТЬ NULL
    |            ТОГДА МАКСИМУМ(ТаблицаЗагрузкиПроизводства.Группа)
    |        КОГДА ТаблицаЗагрузкиПроизводства.НомерИзделия ЕСТЬ NULL
    |            ТОГДА МАКСИМУМ(ТаблицаЗагрузкиПроизводства.Заказ)
    |        ИНАЧЕ МАКСИМУМ(ТаблицаЗагрузкиПроизводства.НомерИзделия)
    |    КОНЕЦ КАК Показатель,
    |    СУММА(КоличествоДеталейПринято),
    |    СУММА(ВремяВыполненияСекундыПринято)
    |ПО
    |    ТаблицаЗагрузкиПроизводства.УчастокПроизводства,
    |    ТаблицаЗагрузкиПроизводства.НоваяГруппа,
    |    ТаблицаЗагрузкиПроизводства.Группа,
    |    ТаблицаЗагрузкиПроизводства.Заказ,
    |    ТаблицаЗагрузкиПроизводства.НомерИзделия";
    
    ИсточникДанныхПостроителя = Новый ОписаниеИсточникаДанных(Запрос.Выполнить().Выгрузить());
    ИсточникДанныхПостроителя.Колонки.Показатель.Измерение = Истина;
    
    ПостроительОтчета.ИсточникДанных = ИсточникДанныхПостроителя;
    ПостроительОтчета.ЗаполнитьНастройки();
    ПостроительОтчета.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;
    
    ПостроительОтчета.Выполнить();
    
    ДеревоЗагрузкиПроизводства = ПостроительОтчета.Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
КонецПроцедуры
2 Лефмихалыч
 
17.05.17
13:30
используй хранилище. Прямо сейчас начни.
3 PCcomCat
 
17.05.17
13:30
Получаю фигню:
+Участок
   +Участок
   +Участок
   ...
+НоваяГруппа
   +НоваяГруппа
   +НоваяГруппа
   ...
+Группа
   +Группа
   +Группа
   ...
и т.д.
4 PCcomCat
 
17.05.17
13:31
(2) Руки не доходили... Теперь точно надо! ))
5 Волшебник
 
модератор
17.05.17
13:36
(4) Действуй.