Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 21:53

Доработка отчета ЛС_бюджетный (7.7.027) ББУ (646)

Автор roslakov, 13 сен 2011, 15:04

0 Пользователей и 1 гость просматривают эту тему.

roslakov

Здравствуйте! Задача: Доработать отчет ЛС_бюджетный что бы данные выводились в разрезе контрагентов. Для этого на 206-е и 500-е счета было добавлено субконто КонтрагентыРазрез (Тип:Справочник.Контрагенты) и изменен модуль формы данного отчета, и его таблица(добавлена колонка КонтрагентыРазрез). При формировании отчета выдается ошибка: Поле агрегатного объекта не обнаружено (Контрагенты) и отчет не формируется. Подскажите пожалуйста что не так делаю.
Привожу чась кода:


Процедура ПолучитьЛБО(Сч, Ксч, i, РУ="", Лсч = 1, ЛБО = 1)

Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто(ВидыСубконто.ФКР);
Ит.ИспользоватьСубконто(ВидыСубконто.ОГС);

д=2;

//******************+++
Если (ДетЭКР = 1) и (i = 2) Тогда
Ит.ИспользоватьСубконто(ВидыСубконто.ДетализацияЭКР);
д=д+1;

КонецЕсли;
//******************--- 
Если Лсч = 1 Тогда
Ит.ИспользоватьСубконто(ВидыСубконто.ЛицевыеСчета,ЛицевойСчет,2);
д=д+1;
КонецЕсли;

//Испр СМ
Ит.ИспользоватьСубконто(ВидыСубконто.КонтрагентыРазрез);
д=д+1;
//Кон Испр

Если ПустоеЗначение(РУ)=0 Тогда
Ит.ИспользоватьРазделительУчета(РУ);
КонецЕсли;

Ит.ВыполнитьЗапрос(НачГода(НаДату),НаДату,Сч,КСч,,2);
Ит.ВыбратьСубконто(д);
//Испр СМ


Пока Ит.ПолучитьСубконто(д)= 1 Цикл
//Кон Испр 


//Испр СМ
Таб.КонтрагентыРазрез = Ит.Субконто(д).Контрагенты.Контрагент; //Ругается на эту строчку
//Кон Испр

Ит.ВыбратьСубконто(1);
Пока Ит.ПолучитьСубконто(1)=1 Цикл
Если Ит.Субконто(1).ВидКлассификатора<>Перечисление.ВидКлассификатора.Разделы Тогда
Продолжить;
КонецЕсли;
Ит.ВыбратьСубконто(2);
Пока Ит.ПолучитьСубконто(2)=1 Цикл 

Если (i = 1) Тогда

Таб.НоваяСтрока();
Таб.ППП = Ит.Субконто(1).ППП.Код;

sergejK74

Открой в отладчике
Установи точку останова на строку
Таб.КонтрагентыРазрез = Ит.Субконто(д).Контрагенты.Контрагент; //Ругается на эту строчку
Через "Вычислить выражение" посмотри, что содержится в Ит.Субконто(д)
Кнопочка Спасибо - слева!

roslakov

Там находится элемент справочника контрагенты

sergejK74

тогда так попробуй
Таб.КонтрагентыРазрез = Ит.Субконто(д);
Кнопочка Спасибо - слева!

roslakov

Сделал так:
Таб.КонтрагентыРазрез = Ит.Субконто(д).Наименование;

При продолжении отладки ругается на след. строку:
Не выбран элемент вышестоящей группировки!
         Ит.ВыбратьСубконто(1);   

Но выполняется дальше, в таблицу выводит в каждую строку где должно быт наименование контрагента Таб.КонтрагентыРазрез
И при выводе каждой строки отчета выдает ошибку: Поле агрегатного объекта не обнаружено (КонтрагентыРазрез)!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск