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

Помогите с отчетом По ДО за период

Автор Serge_ASB, 05 мар 2014, 14:08

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

Serge_ASB

Платформа 7.7 7.70.027
конфа БухУчет 4.5 7.70.515


Ситуация следующая:
Организация перекроила план счетов сл. образом:
20 - ОСНОВНОЕ ПРОИЗВОДСТВО
23-ВСПОМОГАТЕЛЬНОЕ ПРОИЗВОДСТВО
25 -ОБЩЕПРОИЗВОДСТВЕННЫЕ РАСХОДЫ
26-ОБЩЕХОЗЯЙСТВЕННЫЕ РАСХОДЫ
29-ОБСЛУЖИВАЮЩЕЕ ПРОИЗВОДСТВО
Субконто у всех одинаковые:
1 - СтатьиЗатратНаПроизводство (Справочник)
2 - Подразделения (Справочник)
Требуется отчет, за период, который бы выводил Дебетовые обороты.
Принцип следующий


для каждого Эл из СтатьиЗатратНаПроизводство
перебор счетов (из верхнего списка)
для каждого Эл из Подразделения
   Получить сумму ДО (период, Счет, Ск1,Ск2)

Получится длиннючая таблица.
Выводит суммы по ДО неверно, вернее, параметры в ДО поставить не дает.
Эскиз прилагаю.
Заранее извиняюсь (если "чего не так")
   ИтМХ            = СоздатьОбъект("БухгалтерскиеИтоги");

   ИтПоСчету        = СоздатьОбъект("БухгалтерскиеИтоги");
   ИтПодр    = СоздатьОбъект("БухгалтерскиеИтоги");
   
   Счета=СоздатьОбъект("СписокЗначений");
   Счета.ДобавитьЗначение(СчетПоКоду("20"));
   Счета.ДобавитьЗначение(СчетПоКоду("23"));
   Счета.ДобавитьЗначение(СчетПоКоду("25"));
   Счета.ДобавитьЗначение(СчетПоКоду("26"));
   Счета.ДобавитьЗначение(СчетПоКоду("29"));   
   
   //////////////////////////////////////////////////////
   ИтПоСчету.ВключатьСубсчета(, 1);
   
   //////////////////////////////////////////////////////
   Таб.ВывестиСекцию("Заголовок");
   Таб.Вывестисекцию("Шапка");
   //СформироватьШапкуИтог(ИтПоСчету, Таб, "Шапка");
   //Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
   //////////////////////////////////////////////////////


   СпрСтатьи=СоздатьОбъект("Справочник.СтатьиЗатратНаПроизводство");
   
   СпрСтатьи.ВыбратьЭлементы();
   Пока СпрСтатьи.ПолучитьЭлемент() = 1 Цикл
      
      СтатьяЗатрат=СпрСтатьи.Наименование;
      Таб.ВывестиСекцию("Статья");
      для а =1 по Счета.РазмерСписка() Цикл
         Сч=Счета.ПолучитьЗначение(а);
         Таб.ВывестиСекцию("Счет");
      
         ИтПоСчету.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводство,); //СпрСтатьи,1
         ИтПоСчету.ИспользоватьСубконто(ВидыСубконто.Подразделения);   
         ИтПоСчету.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, );//Счета,,,1
         
         ИтПоСчету.ВыбратьСубконто(1);
         
         Пока ИтПоСчету.ПолучитьСубконто(1) = 1 цикл
            
              
            ИтПоСчету.ВыбратьСубконто(2);
            Пока ИтПоСчету.ПолучитьСубконто(2) = 1 цикл
               
               //ИтПодр.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, Сч);
               
               Деб = ИтПоСчету.ДО();//ИтПодр.ДО();// Сч,,,СпрСтатьи,ИтПоСчету.Субконто(1)
               Подразделение=ИтПоСчету.Субконто(1);
               Таб.ВывестиСекцию("Субконто2");
               
            КонецЦикла;
            //
         КонецЦикла;
      конецЦикла;   
   
      
      
   КонецЦикла;
   


   
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать","");

Кошки рулят

Убрать всякие верхние списки, сделать нормальный запрос и обойти его

Теги:

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

Рейтинг@Mail.ru

Поиск