BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование отчетов  / Построение отчетов с использованием Cross-Tab

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Построение отчетов с использованием Cross-Tab
 
Описание проблемы.
Строим отчет с использованием следующих бэндов:
GroupHeader
MasterData
CrossData
Для каждого номенклатурного номера должны выводиться в столбцах цены из партии,
в заголовках столбцов – названия партий. В источнике данных для Cross-data описана процедура Refresh, накладывающая фильтр на итоговый курсор в соответствии с выбранным номенклатурным номером.
Проблема.
1. В заголовках столбцов выводятся названия партий только первой номенклатуры в группе. Если в группе есть номенклатура с отличающимися названиями партий, то новые столбцы не создаются, а цены выводятся в столбцы по порядку.
2. Если для какой-то номенклатуры не создана партия в середине списка партий, или в конце, то цены выводятся подряд, никак не согласуясь с названиями партий, и пустое место получается в последнем столбце.
Объект TfrCrossView отрабатывает правильно, но там я не знаю, как сделать группировку.
Нужно ли в источнике для CrossData формировать «пустые» строки для не созданных партий? Как при выводе столбцов отследить соответствие цены и названия партии.
 
Добрый день!
Цитата
Татьяна Пантас пишет:
1. В заголовках столбцов выводятся названия партий только первой номенклатуры в группе. Если в группе есть номенклатура с отличающимися названиями партий, то новые столбцы не создаются, а цены выводятся в столбцы по порядку.

За число столбцов отвечает дочерний источник (т.е. источник привязанный к секции CrossData). Думаю, что Вы группируете данный источник по коду партии, а Вам необходимо группировать его по имени партии, тогда описанная ошибка должна уйти.
Цитата
Татьяна Пантас пишет:
2. Если для какой-то номенклатуры не создана партия в середине списка партий, или в конце, то цены выводятся подряд, никак не согласуясь с названиями партий, и пустое место получается в последнем столбце.
Нужно ли в источнике для CrossData формировать «пустые» строки для не созданных партий? Как при выводе столбцов отследить соответствие цены и названия партии.
Количество строк в дочернем источнике должно быть точно равно произведению количества строк в отчете на количество столбцов в отчете. Порядок следования данных для столюцов в каждой строке отчета д.б. одинаков. Поэтому Вы должны во втором источнике формировать данные для "пустых" партий. Решение может быть такое:
1. Формируется запрос со списоком столбцов в таблице
2. Формируется запрос со списоком строк в таблице
3. Формируется запрос по первому и второму запросу с пустыми данными и к нему добавляются реальные данные.
4. Курсор из пункта 3 группируюется и сортируется в правильном порядке
Страницы: 1
Читают тему (гостей: 1)