Имя: Пароль:
1C
 
Можно ли такой код сделать конструктором
0 falselight
 
20.07.18
17:18
Может ли конструктор с обработкой результата сделать вот такой код.
Набирал его вручную. Можно ли это сделать конструктором с обработкой
результата? Если да то какие там особенности? Я набирал это вручную.
Возможно все можно сделать конструктором.
Заранее благодарен объяснениям, если кого не затруднит и кто знает.


    Запрос       = Новый Запрос;
    Запрос.Текст = "
        |ВЫБРАТЬ
        |    ПродажиОбороты.Период КАК Месяц,
        |    ПродажиОбороты.Контрагент КАК Контрагент,
        |    ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Контрагент),
        |    ПродажиОбороты.СуммаОборот КАК Сумма
        |ИЗ
        |    РегистрНакопления.Продажи.Обороты(, , Месяц, ) КАК ПродажиОбороты
        |
        |УПОРЯДОЧИТЬ ПО
        |    Месяц
        |ИТОГИ
        |    СУММА(Сумма)
        |ПО
        |    ОБЩИЕ,
        |    Контрагент,
        |    Месяц ПЕРИОДАМИ(МЕСЯЦ, , )";
    РезультатЗапроса = Запрос.Выполнить();
    
    ОбластьШапкаКонтрагент  = Макет.ПолучитьОбласть("Шапка|Контрагент");
    ОбластьШапкаМесяц       = Макет.ПолучитьОбласть("Шапка|Месяц");
    ОбластьШапкаИтог        = Макет.ПолучитьОбласть("Шапка|Итог");
    ОбластьСтрокаКонтрагент = Макет.ПолучитьОбласть("Строка|Контрагент");
    ОбластьСтрокаМесяц      = Макет.ПолучитьОбласть("Строка|Месяц");
    ОбластьСтрокаИтог       = Макет.ПолучитьОбласть("Строка|Итог");
    ОбластьПодвалКонтрагент = Макет.ПолучитьОбласть("Подвал|Контрагент");
    ОбластьПодвалМесяц      = Макет.ПолучитьОбласть("Подвал|Месяц");
    ОбластьПодвалИтог       = Макет.ПолучитьОбласть("Подвал|Итог");
    
    ТабДок.Вывести(ОбластьШапкаКонтрагент);  
    ВыборкаШапкаМесяц = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Месяц", "ВСЕ");
    Пока ВыборкаШапкаМесяц.Следующий() Цикл
        ОбластьШапкаМесяц.Параметры.Заполнить(ВыборкаШапкаМесяц);
        ТабДок.Присоединить(ОбластьШапкаМесяц);
    КонецЦикла;
    ТабДок.Присоединить(ОбластьШапкаИтог);
    
    ВыборкаКонтрагент = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Контрагент");
    Пока ВыборкаКонтрагент.Следующий() Цикл
        ОбластьСтрокаКонтрагент.Параметры.Заполнить(ВыборкаКонтрагент);
        ТабДок.Вывести(ОбластьСтрокаКонтрагент);
        ВыборкаМесяц = ВыборкаКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Месяц", "ВСЕ");
        Пока ВыборкаМесяц.Следующий() Цикл
            ОбластьСтрокаМесяц.Параметры.Заполнить(ВыборкаМесяц);
            ТабДок.Присоединить(ОбластьСтрокаМесяц);
        КонецЦикла;
        ОбластьСтрокаИтог.Параметры.Заполнить(ВыборкаКонтрагент);
        ТабДок.Присоединить(ОбластьСтрокаИтог);
    КонецЦИкла;
    
    ТабДок.Вывести(ОбластьПодвалКонтрагент);
    ВыборкаШапкаМесяц.Сбросить();
    Пока ВыборкаШапкаМесяц.Следующий() Цикл
        ОбластьПодвалМесяц.Параметры.Заполнить(ВыборкаШапкаМесяц);
        ТабДок.Присоединить(ОбластьПодвалМесяц);
    КонецЦикла;
    ВыборкаОбщийИтог = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Если ВыборкаОбщийИтог.Следующий() Тогда
        ОбластьПодвалИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
        ТабДок.Присоединить(ОбластьПодвалИтог);
    КонецЕсли;
КонецПроцедуры
1 МихаилМ
 
20.07.18
17:24
бля. вы больной.
2 Остап Сулейманович
 
20.07.18
17:25
(1) Зачем "больной"? Это - ливингстар.
3 zippygrill
 
20.07.18
17:26
каким еще конструктором? Конструктор синих банан?
4 Fragster
 
гуру
20.07.18
17:27
если такой же результат можно накликать мышкой в СКД, то зачем вообще "код"?
5 Franchiser
 
гуру
20.07.18
17:28
такой же г****код?
6 Tonik992
 
20.07.18
17:35
Закидали какашками беспричинно.
7 АНДР
 
20.07.18
17:44
(0) завязывай с 7.7
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан