Имя: Пароль:
1C
1С v8
Как в запросе разбить остатки по счету?
0 sevensword
 
30.09.15
07:56
Всем добрый день, есть простой запрос по остаткам по счету 60,01,
остатки выводятся нормально, но мне надо чтобы операция по кредиту разбивались, т.е приход1= все суммы >0 и приход2= все суммы <0
как это сделать? база 1с 8.2 бп

Запрос = новый Запрос;
    Запрос.УстановитьПараметр("Счет62",ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01"));
    Запрос.УстановитьПараметр("НачалоПериода",НачалоПериода);
    Запрос.УстановитьПараметр("КонецПериода",КонецПериода);
    Запрос.УстановитьПараметр("Организация", Организация);
    
    Запрос.Текст = "ВЫБРАТЬ
                   |    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
                   |    ХозрасчетныйОстаткиИОбороты.Субконто2 КАК ДоговорКонтрагента,
                   |    ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК Приход,
                   |    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК Расход,
                   |    ХозрасчетныйОстаткиИОбороты.Организация
                   |ИЗ
                   |    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет В ИЕРАРХИИ (&Счет62), ,Организация = &Организация ) КАК ХозрасчетныйОстаткиИОбороты
                   |ИТОГИ
                   |    СУММА(Приход),
                   |    СУММА(Расход)
                   |ПО
                   |    Приход,
                   |    Расход";
                  
    ВыборкаКонтрагент = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    Приход62 = 0;
    Расход62 = 0;
    ТабДок.НачатьАвтогруппировкуСтрок();
    Пока ВыборкаКонтрагент.Следующий() Цикл
        ОбластьПодвал.Параметры.Приход62 = 0;
        ОбластьПодвал.Параметры.Расход62 = 0;
        
//        ЗаполнитьЗначенияСвойств(ОбластьДанныеКонтрагент.Параметры,ВыборкаКонтрагент);
        ЗаполнитьЗначенияСвойств(ОбластьПодвал.Параметры,ВыборкаКонтрагент);

             Приход62 = Приход62 + ВыборкаКонтрагент.Приход;
            Расход62 = Расход62 + ВыборкаКонтрагент.Расход;
        КонецЦикла;
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    если приход>0 тогда
    ОбластьПодвал.Параметры.Приход62 = Приход62;
    конецесли;
    если расход>0 тогда
    ОбластьПодвал.Параметры.Расход62 = Расход62;

    конецесли;
1 el7cartel
 
30.09.15
07:57
думаю использовать выбор когда если правильно понял
2 sevensword
 
30.09.15
07:59
(1) на примере можно?
3 sevensword
 
30.09.15
09:38
апп
4 mistеr
 
30.09.15
09:52
(0) Почему ты остатки по счету называешь "приход" и "расход"? Это же обороты.

Ты бы прикладную задачу озвучил.
5 vicof
 
30.09.15
09:54
(4) +1
6 Buster007
 
30.09.15
09:55
почитай книги что ли уже ) 4 года уже пользуешься 1С как минимум...