Вход | Регистрация

1С:Предприятие ::

Метки: запросы, Запросы и построители

Сортировка документов в отчете по дням

Я
   staer
10.05.04 - 13:35
Подскажите плиз идею.Её нету у меня!!!
ТЗ.Один день одна строка.Разные док. у каждого свой столбец.В нем выводится СуммаДокум.Три столбца.Три Разных Докум.Нужно:
День.ИтогКолСумДок1.ИтогКолСумДок2.ИтогКолСумДок3
У меня:
День.НазванДок.СумДок1.00000
День.НазванДок.0000000.СумДок2.
Не могу придумать алгоритм.Сами док. не интересуют(наз),нужна ИтогСумДокум.Сейчас у меня все получается кроме строк.Делаю через запрос по докум. И каждый док. выводится в отдельной строке.
 
 
   Композитор
 
1 - 10.05.04 - 14:09
Перем Запрос;

//*******************************************

Процедура Сформировать()         
    Запрос = СоздатьОбъект("Запрос");
    ДатаНач = НачГода(РабочаяДата());
    ДатаКон = ПолучитьДатуТА();
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)

         |Период с ДатаНач по ДатаКон;
         |ДатаДок        = Документ.Реализация.ДатаДок,Документ.ПоступлениеТМЦ.ДатаДок,Документ.СчетФактураВыданный.ДатаДок;
         |Сумма1            = Документ.Реализация.Сумма;
         |Сумма2            = Документ.ПоступлениеТМЦ.Сумма;
         |Сумма3            = Документ.СчетФактураВыданный.Сумма;
         |Функция Сум1    = Сумма(Сумма1);
         |Функция Сум2    = Сумма(Сумма2);
         |Функция Сум3    = Сумма(Сумма3);
         |Группировка ДатаДок;";
         
     Запрос.Выполнить(ТекстЗапроса);    
     Пока Запрос.Группировка(1) = 1 Цикл
         ТЗ.НоваяСтрока();
         ТЗ.Дата = Запрос.ДатаДок;
         ТЗ.СуммаДок1 = Запрос.Сум1;
         ТЗ.СуммаДок2 = Запрос.Сум2;
         ТЗ.СуммаДок3 = Запрос.Сум3;
     КонецЦикла;
КонецПроцедуры
 
Процедура ПриОткрытии()
 ТЗ.НоваяКолонка("Дата");
 ТЗ.НоваяКолонка("СуммаДок1");
 ТЗ.НоваяКолонка("СуммаДок2");
 ТЗ.НоваяКолонка("СуммаДок3");
КонецПроцедуры
   staer
2 - 10.05.04 - 17:18
Огромное Спасибо. Все Работает. Встречный Вопрос.
Как можно Обратиться к документу по которому идет запрос.
   GrayT
 
3 - 10.05.04 - 20:28
(1)Зачем так сложно?
тз = СоздатьОбъект(\"ТаблицаЗначений\"); 
Запрос.Выгрузить(ТЗ);
Ни цикла, ни формирования ТЗ
(2)Ты ж говорил, что сами документы не интересуют :)

    \"//{{ЗАПРОС(Сформировать)

    |Период с ВыбНачПериода по ВыбКонПериода;
    |ОбрабатыватьДокументы все;
    |ТекДок  = Документ.Реализация.ТекущийДокумент, Документ.ПоступлениеТМЦ.ТекущийДокумент, Документ.СчетФактураВыданный.ТекущийДокумент;
    |ДатаДок = Документ.Реализация.ДатаДок, Документ.ПоступлениеТМЦ.ДатаДок, Документ.СчетФактураВыданный.ДатаДок;
    |СумДок  = Документ.Реализация.Сумма, Документ.ПоступлениеТМЦ.Сумма, Документ.СчетФактураВыданный.Сумма;
    |Функция Сум1 = Сумма(СумДок) когда(ТекДок.Вид()=\"\"Реализация\"\");
    |Функция Сум2 = Сумма(СумДок) когда(ТекДок.Вид()=\"\"ПоступлениеТМЦ\"\");
    |Функция Сум3 = Сумма(СумДок) когда(ТекДок.Вид()=\"\"СчетФактураВыданный\"\");
    |Группировка ДатаДок;
    |Группировка ТекДок;
    |\"


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует