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

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

Метки:отчеты

Проясните,пожалуйста, про горизонтальные и вертикальные секции в таблице!..

Я
   Евгения
12.08.04 - 13:25
Составляю отчёт, в котором нужно отразить всех контрагентов и все группы товары, которые они приобрели (Отразить суммы покупок по этим группам). Конфа ТиС.
  Сделала так: В первой колонке таблицы выводятся все контрагенты, а по горизонтали в верхней строке надо бы вывести наименования всех групп товаров, по которым были сделки по покупателям. В пересечениях Групп товаров и контрагентов указать сумму.

  Парюсь с горизонтальными секциями...выводят что попало, но не то, что нужно... не подскажите, где можно поподробнее увидеть про горизонтальные секции?

   С уважением, Евгения.






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

    |Период с ВыбНачПериода по ВыбКонПериода;
    |
    |Докум=Документ.РеализацияРозница.ТекущийДокумент;
    |Контр=Документ.РеализацияРозница.Контрагент;
    |Товар=Документ.РеализацияРозница.Номенклатура;
    |Сумма = Документ.РеализацияРозница.Сумма;
    |
    |Группировка Контр;
    |Группировка Товар упорядочить по Товар.Наименование;
    |Группировка Сумма;
    |
    |Функция СуммаСумма = Сумма(Сумма);
    |
    |
    |//}}ЗАПРОС

    ;
    
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
    
    
    
    Таб=СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    
   // Формирование шапки отчета

    Таб.ВывестиСекцию("Шапка|Боковик");
    Таб.ВывестиСекцию("Заголовок|Боковик"); 
    
    Счётчик = 0; 
    
    Пока Запрос.Группировка("Контр") = 1 Цикл 
            
        Таб.ВывестиСекцию("Контрагент|Боковик"); 
        
        Пока Запрос.Группировка("Товар")=1 Цикл 
            
            Если Запрос.Товар.Уровень()=1 Тогда
                Таб.ПрисоединитьСекцию("Группа");
            КонецЕсли;
            Счётчик=Счётчик+1; 
            Если Счётчик > 0 Тогда
            прервать; 
            Таб.ПрисоединитьСекцию("Контрагент|Группа");
        КонецЕсли; 
        
        КонецЦикла;
    КонецЦикла;
    
    Таб.ТолькоПросмотр(1);
    Таб.Опции(0,0,4,1);
    Таб.Показать();
КонецПроцедуры
 
  Рекламное место пустует
   Vantala
1 - 12.08.04 - 13:52
Что попало, это как ?
Подробнее если можно.
   Vantala
 
2 - 12.08.04 - 14:23
Например - для чего нужен счетчик, и строка \"Таб.ПрисоединитьСекцию(\"Контрагент|Группа\");
\" - если она никогда не срабатывает ?
   ИВМ35
 
3 - 12.08.04 - 14:55
разбирать твой код - нет времени, а по секциям:
Таб.ВывестиСекцию(...) - всегда начинает новую строку, хотя-б одна команда - обязательна.
Таб.ПрисоединитьСекцию(...) - приклеивает к выведенной секции справа новую
Счетчик - может кто другой тебе скажет.. я не понимаю, как он у тебя работает..
   ИВМ35
 
4 - 12.08.04 - 15:04
Кстати, в << Таб.ПрисоединитьСекцию("Группа"); >> - ошибка, надо указать 2 координаты
   Композитор
 
5 - 12.08.04 - 16:04
Дайте адрес электронной почты.
   Композитор
 
6 - 12.08.04 - 16:20
Обработка Евгении нужна?


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