Имя: Пароль:
1C
1С v8
Подскажите с запрсом
0 егаис
 
30.03.14
13:24
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ХозрасчетныйОстаткиИОбороты.Подразделение,
        |    ХозрасчетныйОстаткиИОбороты.Субконто1,
        |    ХозрасчетныйОстаткиИОбороты.Субконто2,
        |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборот) КАК СуммаОборот,
        |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНУОборот) КАК СуммаНУОборот,
        |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаПРОборот) КАК СуммаПРОборот,
        |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаВРОборот) КАК СуммаВРОборот
        |ИЗ
        |    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
        |            &НачалоПериода,
        |            &КонецПериода,
        |            ,
        |            ,
        |            Счет В ИЕРАРХИИ (&Счет20),
        |            ,
        |            НЕ Субконто1 В (&МассивОбъектов)
        |                И Субконто2 В (&МассивСтатейЗатрат)
        |                И Организация = &Организация) КАК ХозрасчетныйОстаткиИОбороты
        |
        |СГРУППИРОВАТЬ ПО
        |    ХозрасчетныйОстаткиИОбороты.Подразделение,
        |    ХозрасчетныйОстаткиИОбороты.Субконто1,
        |    ХозрасчетныйОстаткиИОбороты.Субконто2";

    Запрос.УстановитьПараметр("НачалоПериода", Новый Граница(НачалоМесяца(Дата),ВидГраницы.Включая));
    Запрос.УстановитьПараметр("КонецПериода", Новый Граница(КонецМесяца(Дата),ВидГраницы.Включая));
    Запрос.УстановитьПараметр("МассивОбъектов", ВыручкаПоОбъектам.ВыгрузитьКолонку("ОбъектВыполнения"));
    Запрос.УстановитьПараметр("МассивСтатейЗатрат", СтатьиРаспределения.ВыгрузитьКолонку("СтатьяЗатрат"));
    Запрос.УстановитьПараметр("Счет20", ПланыСчетов.Хозрасчетный.ОсновноеПроизводство);
    Запрос.УстановитьПараметр("Организация", Организация);


МассовОбъектов выгружаем из ТЧ, в которой всегда есть данные
МассивСтатейЗатрат - ТЧ может быть заполнена, но может быть и пустой. Как прописать в запросе Субконто2 В (&МассивСтатейЗатрат) или МассивСтатейЗатрат пустой?
1 егаис
 
30.03.14
13:27
запросом получаю аналитику 20 счета, по которым нет выручки. Отбор по статьям может быть, а может и не быть
2 zmaximka
 
30.03.14
13:28
ну очевидно же что нужно формировать текст запроса динамически или использовать СКД или построитель
3 егаис
 
30.03.14
13:33
(2) не, знаю что можно прописать в самом запросе, не помню как
4 Wobland
 
30.03.14
13:54
Субконто2 В (&МассивСтатейЗатрат) или &МассивСтатейЗатратПустой?
5 User_Agronom
 
30.03.14
15:22
Динамически собрать текст запроса.
6 yeti
 
30.03.14
16:17
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ХозрасчетныйОстаткиИОбороты.Подразделение,
        |    ХозрасчетныйОстаткиИОбороты.Субконто1,
        |    ХозрасчетныйОстаткиИОбороты.Субконто2,
        |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборот) КАК СуммаОборот,
        |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНУОборот) КАК СуммаНУОборот,
        |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаПРОборот) КАК СуммаПРОборот,
        |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаВРОборот) КАК СуммаВРОборот
        |ИЗ
        |    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
        |            &НачалоПериода,
        |            &КонецПериода,
        |            ,
        |            ,
        |            Счет В ИЕРАРХИИ (&Счет20),
        |            ,
        |            НЕ Субконто1 В (&МассивОбъектов)"+?(МассивСтатейЗатрат.количество()=0,"","
        |                И Субконто2 В (&МассивСтатейЗатрат)")+"
        |                И Организация = &Организация) КАК ХозрасчетныйОстаткиИОбороты
        |
        |СГРУППИРОВАТЬ ПО
        |    ХозрасчетныйОстаткиИОбороты.Подразделение,
        |    ХозрасчетныйОстаткиИОбороты.Субконто1,
        |    ХозрасчетныйОстаткиИОбороты.Субконто2";

    Запрос.УстановитьПараметр("НачалоПериода", Новый Граница(НачалоМесяца(Дата),ВидГраницы.Включая));
    Запрос.УстановитьПараметр("КонецПериода", Новый Граница(КонецМесяца(Дата),ВидГраницы.Включая));
    Запрос.УстановитьПараметр("МассивОбъектов", ВыручкаПоОбъектам.ВыгрузитьКолонку("ОбъектВыполнения"));
    Запрос.УстановитьПараметр("МассивСтатейЗатрат", СтатьиРаспределения.ВыгрузитьКолонку("СтатьяЗатрат"));
    Запрос.УстановитьПараметр("Счет20", ПланыСчетов.Хозрасчетный.ОсновноеПроизводство);
    Запрос.УстановитьПараметр("Организация", Организация);
7 yeti
 
30.03.14
16:18
+?(МассивСтатейЗатрат.количество()=0,"","
|И Субконто2 В (&МассивСтатейЗатрат)")