| 
    0
    
        Андрей89    
       
    
    19.01.14 
            ✎
    12:19 
 | 
         
        Добрый день, форумчане!
 Прошу вашей помощи при работе с бухгалтерскими итогами в бухгалтерии 7.7. Задача стоит в следующем: отобрать кредитовые обороты 10го счета в корреспонденции с 20м с отбором по субконто 20го счета (списание материалов в производство на конкретную продукцию). Написал следующий код, но почему то обороты рассчитывает без отбора по субконто. Например списывали за период один материал на 2 изделия. БИ.КО(3) возвращает сумму списанного материала на оба изделия, а мне нужно по каждому.
  БИ=СоздатьОбъект("БухгалтерскиеИтоги");
     БИ.ИспользоватьСубконто("Материалы");  
     БИ.ИспользоватьСубконто("МестаХранения");
     БИ.ИспользоватьКорСубконто("ВидыНоменклатуры");
     БИ.ВключатьСубсчета(1,1);
     Если БИ.ВыполнитьЗапрос(НачДата,КонДата,"10", "20",,2)  = 0 Тогда
         Предупреждение("Не удается выполнить запрос к бухгалтерским итогам!");
         Возврат;
     КонецЕсли;         
     
     ТабЗнач = СоздатьОбъект("ТаблицаЗначений");
     
     ТабЗнач.НоваяКолонка("Затрата"); 
     ТабЗнач.НоваяКолонка("ЕдИзм"); 
     ТабЗнач.НоваяКолонка("Сумма"); 
     ТабЗнач.НоваяКолонка("Количество");
     ТабЗнач.НоваяКолонка("Цена");
     
     СуммаИтог = 0;
     БИ.ВыбратьСубконто(1);
     Пока БИ.ПолучитьСубконто()=1 Цикл
         // выводим итоги по субконто  
         БИ.ВыбратьКорСубконто(1);
         Пока БИ.ПолучитьКорСубконто()=1 Цикл            
             
             Если (ПустоеЗначение(ОбъектСтроительства) = 0) И (БИ.КорСубконто(1) <> ОбъектСтроительства) Тогда 
                 Продолжить;
             КонецЕсли;  
             
             Если (ПустоеЗначение(МОЛ) = 0) И (БИ.Субконто(2).МОЛ <> МОЛ) Тогда 
                 Продолжить;
             КонецЕсли;
             
             ТабЗнач.НоваяСтрока();
             
             ТабЗнач.Затрата     = БИ.Субконто(1); 
             ТабЗнач.ЕдИзм         = ТабЗнач.Затрата.ЕдиницаИзмерения;
             ТабЗнач.Сумма         = Формат(БИ.КО(1), "Ч15.2");       
             ТабЗнач.Количество     = Формат(БИ.КО(3), "Ч15.2"); 
             ТабЗнач.Цена         = Формат(?(БИ.КО(3) = 0, 0, БИ.КО(1)/БИ.КО(3)), "Ч15.2");  
             
             СуммаИтог = СуммаИтог + ТабЗнач.Сумма;
             
         КонецЦикла;
     КонецЦикла;     
         | 
 |