AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.01.2013, 10:31   #1  
Lapunder is offline
Lapunder
Участник
 
40 / 10 (1) +
Регистрация: 24.04.2008
Дано - аналитический отчет по продажам (форма 7117)

допустим, при построении отчета по клиентам получаем большую "портянку" с записями, некоторые из которых в матричной части имеют полностью пустые ячейки по некоторым клиентам.
вопрос: можно ли добиться того, чтобы при нажатии, например, на кнопку, эти пустые записи отсекались?

один из вариантов решения - добавить в таблицу Analisys Line поле boolean, которое заполнять значением True, если хотя бы в одной ячейке для текущей записи клиента есть значение, отличное от нуля. но тогда получается, что необходимо прогнать весь расчет по всем клиентам, что, подозреваю, будет сильно тормозить, т.к. в форме расчет не выполняется сразу для всех записей, а только для тех, которые выводятся на экран.

Может кто-то решал уже подобную задачу каким-нибудь другим способом?

Спасибо.
Старый 22.01.2013, 11:12   #2  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
все правильно.
но не "хотя бы в одной ячейке", а просто "за период"
Date Filter как в формочке, и setrange.
будет долго считать - будут в Excel удалять пустые записи
Старый 22.01.2013, 11:33   #3  
Lapunder is offline
Lapunder
Участник
 
40 / 10 (1) +
Регистрация: 24.04.2008
Цитата:
Сообщение от Sancho Посмотреть сообщение
все правильно.
но не "хотя бы в одной ячейке", а просто "за период"
Date Filter как в формочке, и setrange.
будет долго считать - будут в Excel удалять пустые записи />
вот тут, если можно, поподробнее
на кого Date Filter вешать?)
Старый 24.01.2013, 01:06   #4  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
блин. поспешил с ответом.
а тут сложности...
эта аналитическая формочка живет не на человеческой таблице (товар, клиент), а на искусственной Analysis Line.
и в качестве строк использует не стандартные обороты, например, а собственную раскладку столбов Analysis Column.
например, столбце анализа "ПРОДАЖИ" все значения берутся из 32-й таблицы, "Товар Книги Операций".

следовательно, в строках (Analysis Line) можно создать поле Date Filter (флоу фильтр) и поле, например, "Товарные Операции Есть", которое вычисляемое из "Товар Книги Операций", где код товара равен коду из Analysis Line, а дата учета из поля Date Filter.

на формочке просмотра сделать гайку "операции есть", по нажатии на которую либо SETRANGE("Товарные Операции Есть", TRUE), либо SETRANGE("Товарные Операции Есть")

к сожалению, эта нехитрая конструкция будет работать только если:
1. код в строках равен коду товаров
2. источником значений является "Товар Книга Операций"
для других сочетаний потребуются другие гайки
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:25.