28.05.2008, 10:29 | #1 |
Moderator
|
Как не выводить заголовки в форме, если нет строк?
Добрый день!
Как не выводить заголовки в форме, если нет строк? Таблицы стандартные InventJournalTable и InventJournalTrans, на данный момент тип связи (на датасоурсе InventJournalTrans) Delayed. Очень интересует как оставить в форме связанные непустые заголовки и строки, т.е. убрать заголовки у которых нет связанных записей. Спасибо UPD: Дополнительное условие: строки в форме на входе программно фильтруются по дате (т.е. берутся строки за период) Последний раз редактировалось DreamCreator; 28.05.2008 в 11:02. Причина: NumOfLines |
|
28.05.2008, 10:40 | #2 |
Аманд
|
Навскидку, установить пользовательский фильтр по полю "количество строк" в заголовке журнала. Хотя я помню, что иногда подсчёт приходилось обновлять - кнопка Обновление. И обычно пустые заголовки не должны висеть, потому что заранее их плодить не имеет смысла.
|
|
|
За это сообщение автора поблагодарили: DreamCreator (2). |
28.05.2008, 10:48 | #3 |
Moderator
|
Цитата:
UPD: Нашел! NumOfLines, Спасибо! Пробую. |
|
28.05.2008, 10:52 | #4 |
Аманд
|
Также вы можете сохранить этот фильтр. Если у вас 4.0, то поместив форму в Избранное, этот фильтр будет отрабатывать всегда по умолчанию. (фильтр по умолчанию для избранного можно изменить).
|
|
28.05.2008, 10:58 | #5 |
Moderator
|
Цитата:
Дополнительное условие: строки в форме на входе программно фильтруются по дате (т.е. берутся строки за период), здесь NumOfLines не поможет (однако красиво было бы ) Последний раз редактировалось DreamCreator; 28.05.2008 в 11:02. Причина: Строки прогр. фильтруются при открытии формы |
|
28.05.2008, 12:15 | #6 |
Moderator
|
Можно по-простому, подвязать программно к DS InventJournalTable табл. InventJournalTrans (addDatasource и т.д.) и на нее наложить такие же фильтры, как и на строки.
__________________
Андрей. |
|
29.05.2008, 14:17 | #7 |
Участник
|
Можно еще проще. Добавить второй DataSource со строками и установить тип связи InnerJoin. Если нет записей в подчиненной таблице, то по InnerJoin будет исключение записей и из главной. Теоретически... На практике не проверял...
|
|
29.05.2008, 14:26 | #8 |
Moderator
|
Цитата:
Цитата:
Можно по-простому, подвязать программно к DS InventJournalTable табл. InventJournalTrans (addDatasource и т.д.) и на нее наложить такие же фильтры, как и на строки.
|
|
29.05.2008, 14:40 | #9 |
Moderator
|
InventJournalTable_DS.init():
X++: QueryBuildDatasource qbds; QueryBuildRange qbr; super(); ... qbds = InventJournalTable_ds.query().dataSourceNo(1).addDataSource(tableNum(InventJournalTrans)); qbds.relations(true); qbds.joinMode(JoinMode::ExistsJoin); qbr = qbds.addRange(fieldNum(InventJournalTrans, TransDate)); qbr.status(RangeStatus::Locked); qbr.value(strFmt("%1..", 01\01\2008)); // фильтр
__________________
Андрей. |
|
|
За это сообщение автора поблагодарили: DreamCreator (2). |
29.05.2008, 15:10 | #10 |
Moderator
|
Цитата:
Сообщение от Dron AKA andy
InventJournalTable_DS.init():
X++: qbds = InventJournalTable_ds.query().dataSourceNo(1).addDataSource(tableNum(InventJournalTrans)); qbds.relations(true); qbds.joinMode(JoinMode::ExistsJoin); qbr = qbds.addRange(fieldNum(InventJournalTrans, TransDate)); qbr.status(RangeStatus::Locked); qbr.value(strFmt("%1..", 01\01\2008)); // фильтр |
|