Имя: Пароль:
1C
1С v8
Ошибка при обращении к бухгалтерским итогам 7.7
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");  
            
            СуммаИтог = СуммаИтог + ТабЗнач.Сумма;
            
        КонецЦикла;
    КонецЦикла;
1 zak555
 
19.01.14
12:20
КорДО надо смотреть
2 zak555
 
19.01.14
12:22
> то обороты рассчитывает без отбора по субконто

не вижу нигде отбора
3 Андрей89
 
19.01.14
12:25
Спасибо! нужно было дописать Кор.