Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Помогите сформировать бух итоги по группе контрагентов

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

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

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

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

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

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


Вот так

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.