Имя: Пароль:
1C
1C 7.7
v7: Помогите сформировать бух итоги по группе контрагентов
0 sysadminlk
 
26.11.20
16:11
Функция ПолучитьОстаткиПоВзаимкам(Контр)
    Ит = СоздатьОбъект("БухгалтерскиеИтоги");    
    Ит.ИспользоватьСубконто(ВидыСубконто.Подразделение,Константа.ОснПодразделение);
    Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Контр);
    Ит.ВыполнитьЗапрос(РабочаяДата(),РабочаяДата(),СчетПоКоду("76.1"));    
    Возврат Ит.СКК();
КонецФункции    // ПолучитьОстаткиПоВзаимкам

Если передать в функцию элемент справочника который является группой, то возвращается или СКК или СКД в зависимости от того что больше.

А мне нужно получить и СКК и СКД по этой группе.

Я подозреваю что можно это без цикла (не опрашивая каждого контрагента что у него там кредит или дебет задолженность),
мне отдельно нужно получить общий кредит по группе и общий дебет по группе

Помогите плиз.
1 ДенисЧ
 
26.11.20
16:14
7ки под рукой нет, но... В параметрах ИСпользоватьСУбконто() вроде есть третий параметр... Или в ВыполнитьЗапрос() что-то связанное с группой.
2 sysadminlk
 
26.11.20
16:26
(1) да я уже проде все варианты перепробовал
3 HawkEye
 
26.11.20
16:31
(0) для развернутого сальдо используется СККР() и СКДР()
4 sysadminlk
 
26.11.20
16:52
(3) Возвращает кредитовое развернутое сальдо по субсчетам на конец периода.
это не то
5 sysadminlk
 
26.11.20
16:52
пока сделал через цикл

Функция ПолучитьОстаткиПоВзаимкам(Контр)
    СКД=0;
    СКК=0;
    Ит = СоздатьОбъект("БухгалтерскиеИтоги");    
    Ит.ИспользоватьСубконто(ВидыСубконто.Подразделение,Константа.ОснПодразделение);
    Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Контр);
    Ит.ВыполнитьЗапрос(РабочаяДата(),РабочаяДата(),СчетПоКоду("76.1"));
    Ит.ВыбратьСубконто(1);
    Пока Ит.ПолучитьСубконто(1) = 1 Цикл
        Ит.ВыбратьСубконто(2);
        Пока Ит.ПолучитьСубконто(2) = 1 Цикл
            СКД=СКД+Ит.СКД();
            СКК=СКК+Ит.СКК();
        КонецЦикла;
    КонецЦикла;
    Сп = СоздатьОбъект("СписокЗначений");
    Сп.ДобавитьЗначение(СКК);
    Сп.ДобавитьЗначение(СКД);    
    Возврат Сп;
КонецФункции    // ПолучитьОстаткиПоВзаимкам

Вот так