Имя: Пароль:
1C
 
Помогите разобраться с запросом по бухгалтерским итогам (1С 7.7)
0 Alexander Shevchuck
 
28.03.10
12:23
Хочу сделать отчет, который отображает списание топлива котельного с  разных мест хранения (топливо списывается с 20 на 80 счет)




Перем Дата1, Дата2, Фирма, Директор, ТаблМатериалы,Номер,Значение,КраткийОтчет,ТопливоКотельное,МестоХР;
//===========================================
Процедура ПриОткрытии()
   Пропись("uahukr");
   Дата1=НачМесяца(РабочаяДата());
   Дата2=КонМесяца(РабочаяДата());
   МесяцПериода=ПериодСтр(Дата1,Дата2);
   Номенклатура = СоздатьОбъект("Справочник.ТМЦ");
   Номенклатура.НайтиПоКоду(1523);  
   ТопливоКотельное = Номенклатура.ТекущийЭлемент();
    //============================================
КонецПроцедуры
//===============================================
Процедура Сформировать()  
   ТаблМатериалы=СоздатьОбъект("ТаблицаЗначений");
   ТаблМатериалы.НоваяКолонка("Участок");
   ТаблМатериалы.НоваяКолонка("ТМЦ");
   ТаблМатериалы.НоваяКолонка("Кво");
   //-----------------------------------------------
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
//-------------------------------------------------
           Ит.ИспользоватьСубконто(ВидыСубконто.ТМЦ,ТопливоКотельное,2);
       Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения,,1,0);
       Ит.ВключатьСубсчета(-1,-1);
       Ит.ВыполнитьЗапрос(Дата1, Дата2,"20","80",,3,3, "СК");  
       //----------------------------------------------------------
       //-----------------------------------------------------------
       Ит.ВыбратьСубконто(1);
           Пока Ит.ПолучитьСубконто(1)=1 Цикл
               Ит.ВыбратьСубконто(2);
               Пока Ит.ПолучитьСубконто(2)=1 Цикл
                   ТаблМатериалы.НоваяСтрока();
                   ТаблМатериалы.ТМЦ = Ит.Субконто(1);
                   ТаблМатериалы.Участок = Ит.Субконто(2);
                   ТаблМатериалы.Кво = Ит.КО(3) ;
               КонецЦикла;
           КонецЦикла;
           ТопливоВсего = ТаблМатериалы.Итог("Кво");
       Таб = СоздатьОбъект("Таблица");
       Таб.ИсходнаяТаблица("Отчет");
       Таб.ВывестиСекцию("Шапка");
       ТаблМатериалы.ВыбратьСтроки();
       Пока ТаблМатериалы.ПолучитьСтроку() = 1 Цикл
           Таб.ВывестиСекцию("Строка");
       КонецЦикла;
       Таб.ВывестиСекцию("Дно");
       Таб.ТолькоПросмотр(1);
       Таб.Показать("Отчет");
КонецПроцедуры


Но выполнение данного кода выводит мне все кредитовые обороты по 20 счету, а не только которые шли на дебет 80. Подскажите, пожалуйста, в чем ошибка и как ее можно решить. Также, буду очень благодарен, за ссылку  с литературой по правилам построения выборок по результатам запросов по бухгалтерским итогам.
1 Cthulhu
 
28.03.10
13:44
а КорДО чо дает?
2 Cthulhu
 
28.03.10
13:45
ЗЫЫ и сделай предварительно (снаружи цикла по субконто) ВыбратьСчета()+ПолучитьСчет()+ВыбратьКорСчета()+ПолучитьКорСчет()
3 qqqqq
 
28.03.10
14:05
Пока Ит.ПолучитьСубконто(2)=1 Цикл
   Если Ит.КорСчет= счетПоКоду("80") тогда
       ТаблМатериалы.НоваяСтрока();
       ТаблМатериалы.ТМЦ = Ит.Субконто(1);
       ТаблМатериалы.Участок = Ит.Субконто(2);
       ТаблМатериалы.Кво = Ит.КО(3) ;
   КонецЕсли;
КонецЦикла;
4 Вьюн
 
28.03.10
14:21
Ит.ВыполнитьЗапрос(Дата1, Дата2,"20","80",,2,, "СК");
5 Alexander Shevchuck
 
28.03.10
14:26
(4) Большое спасибо, помогло