7.7 Запрос по операциям с кор. субконто

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем MariSHka, 25 июн 2008.

  1. TopicStarter Overlay
    MariSHka
    Offline

    MariSHka

    Регистрация:
    10 апр 2008
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Т.е. мне нужно выбрать все проводки Дт.20,25,26 x Кт10, по субконто 20-х счетов "СтатьяЗатрат" за период, а затем сгрупировать суммы и количества по субконто 10-х счетов "Материалы" за этот период.

    Вот... У меня получился такой отчётик:
    Код:
    Сч20=СчетПоКоду("20");
    Сч25=СчетПоКоду("25");
    Сч26=СчетПоКоду("26");
    Сч10=СчетПОкоду("10");
    
    Запрос=СоздатьОбъект("Запрос");
    ТекстЗапроса=
    "//{{ЗАПРОС(Сформировать)
    |Период с НачДата по КонДата;
    |Обрабатывать НеПомеченныеНаУдаление; 
    |Сч=Операция.Счет;                          
    |КорСч=Операция.КорСчет;
    |Статьи=Операция.Субконто.СтатьиЗатрат;
    |Материал=Операция.КорСубконто.Материалы;
    |СуммаОп=Операция.Сумма;
    |Группировка Материал упорядочить по Материал.Наименование;
    |Функция СуммаМат=КорДО(СуммаОп);
    |Условие(((Сч.Родитель()=Сч20)или(Сч.Родитель()=Сч25)или(Сч.Родитель()=Сч26))и(Статьи=СтатьяЗатрат)и(КорСч.Родитель()=Сч10));
    |"//}}ЗАПРОС;
    
    Состояние("Выполнение запроса...");
    Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
    Возврат;  
    КонецЕсли;
    
    Таб=СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Расшифровка");
    Таб.ВывестиСекцию("Заголовок");
    
    Состояние("Заполнение таблицы...");
    КоличествоИтого=0;
    ЦенаБезНДСИтого=0;
    СтоимостьИтого=0;
    Пока Запрос.Группировка("Материал")=1 Цикл
    Наименование=Запрос.Материал.Наименование;
    Стоимость=Запрос.СуммаМат;
    Если Запрос.Материал.ЭтоГруппа()=1 Тогда
    Таб.ВывестиСекцию("Группа");
    Иначе 
    ЦенаБезНДС=Запрос.Материал.Цена;
    Количество=Окр(Стоимость/ЦенаБезНДС,2);
    СтоимостьИтого=СтоимостьИтого+Стоимость;
    КоличествоИтого=КоличествоИтого+Количество;
    Таб.ВывестиСекцию("ТабличнаяЧасть");
    КонецЕсли;
    
    КонецЦикла;
    
    Таб.ВывестиСекцию("Итог");
    
    
    Работает так: за январь взял почти все нужные проводки (те, которые не взял ничем не отличаются, нужные субконто в них указаны), за февраль - все проодки, за март - почти ничего (только 2 наименования)... Может что с кодом не так?...

Поделиться этой страницей