AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.02.2017, 02:29   #1  
Kostiki is offline
Kostiki
Участник
 
16 / 20 (1) +++
Регистрация: 01.03.2011
ГФО. При использовании функций не берется период, указанный в настройках ячейки
Коллеги!
Либо что-то не понимаю, либо не умею. Подскажите:
Сделал функцию, которая вычисляет значение - оборот в корреспонденции. На функции нигде периоды не указывал. Сделал постоянный реквизит, с типом выражение, который использует эту функцию. Далее есть у меня две ячейки - значение за текущий год и за предыдущий. Настраиваю это две ячейки - Тип строки Постоянный реквизит, указываю этот постоянный реквизит. Период соответственно ставлю на одной строке тек год, на другой пред. год. В отчет выводится одна и та же цифра - за текущий год. Что не так-то?
Старый 07.02.2017, 05:11   #2  
AlexSD is offline
AlexSD
Microsoft Dynamics
Сотрудники Microsoft Dynamics
 
257 / 302 (11) ++++++
Регистрация: 14.10.2003
Судя по всему, бага в коде. Не исследовал эту проблему глубоко, но по моему мнению, результат вычисления для реквизита (или функции) кешируется и второй раз не вычисляется (несмотря на то, что период другой).
Work around (только что попробовал): создайте две одинаковые функции и два одинаковых реквизита с разными именами для разных ячеек.

update поисследовал подольше. Да, функция кешируется в Map-е с ключем по RecId. Параметры полностью игнорируются. Т.е. одна функция вычисляется только один раз за генерацию отчета.

Последний раз редактировалось AlexSD; 07.02.2017 в 05:23.
Старый 07.02.2017, 08:30   #3  
Kostiki is offline
Kostiki
Участник
 
16 / 20 (1) +++
Регистрация: 01.03.2011
Чета тогда не понятен смысл функции вообще тогда. То же самое можно просто описать в строке.
Еще вопрос: А есть какой-нить метод, чтобы делать сумму строк в ГФО? Чтобы в итогах не прописывать опять те же самое запросы?
Старый 07.02.2017, 08:52   #4  
AlexSD is offline
AlexSD
Microsoft Dynamics
Сотрудники Microsoft Dynamics
 
257 / 302 (11) ++++++
Регистрация: 14.10.2003
Функции делались для Электронной отчетности, что бы была возможность использования функционала ГФО для расчета показателей и вывода их в хмл. Только, в реальных отчетах этот функционал не использовался, поэтому тщательного тестирования не было.

Теоретически, можно сделать функцию, которая в строках суммирует постоянные реквизиты, которые в свою очередь могут состоять из функций сделанных для расчета ячеек. В таком случае, даже производительность будет больше из-за упомянутого выше кеша. Функции для ячеек не будут рассчитываться дважды. Практически, могу попробовать завтра, Аксапты под рукой нет.
Старый 07.02.2017, 09:25   #5  
Kostiki is offline
Kostiki
Участник
 
16 / 20 (1) +++
Регистрация: 01.03.2011
Практически так работает конечно. Уже попробовал. Можно исчо два вопроса? Делаю форму 4 Бух отчетности.
1. Должна считаться сумма НДС и в зависимости от знака посчитанной суммы она должна ставиться в ту или иную строку. В ГФО нигде сравнения не нашел, как это можно сделать?
2. Может кто-то это настраивал. Полное извращение, но все же. В строки формы 4 ставятся суммы платежей от клиентов и поставщиков. Но ставиться они должны за минусом НДС. Есть какой нить человеческий способ это сделать?
Старый 07.02.2017, 09:43   #6  
AlexSD is offline
AlexSD
Microsoft Dynamics
Сотрудники Microsoft Dynamics
 
257 / 302 (11) ++++++
Регистрация: 14.10.2003
Не уверен, что это можно сделать в ГФО из коробки. Я с подобной проблемой сталкивался, но в обратном варианте. Когда из Excel-формы, из двух ячеек (в одной положительное число, в другой отрицательное) нужно было достать числа и положить их в один показатель в хмл с правильным знаком. Попробую завтра посмотреть.
В любом случае, мне кажется такие операции можно сделать на уровне шаблона Excel. Можно вывести число в скрытую ячейку, а в нужных ячейках уже формулами Excel сравнить.
И также формулами Excel можно вычесть НДС.

Можно вообще все данные из ГФО вывести на отдельный лист, а в конкретные места шаблона уже брать данные из этого листа и выводить формулами.

Последний раз редактировалось AlexSD; 07.02.2017 в 09:45.
Старый 08.02.2017, 03:50   #7  
AlexSD is offline
AlexSD
Microsoft Dynamics
Сотрудники Microsoft Dynamics
 
257 / 302 (11) ++++++
Регистрация: 14.10.2003
Ну, мне удалось настроить ГФО так, что бы выводить результат с разными знаками в разные ячейки. Пришлось использовать магию регулярных выражений.
Не знаю, нужно ли вам это или вы уже решили эту проблему при помощи формул Excel. Пока не буду тратить время на описание настройки.
Теги
гфо, функции

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Копирование в ГФО zemlyn DAX: Функционал 0 22.08.2013 11:04
Как заставить отчет в ГФО учитывать сразу несколько аналитик ? George A DAX: Функционал 9 22.07.2011 14:40
MDX запрос, выборка за период. Вата DAX: Программирование 2 17.10.2008 14:34
Как узнать: является ли сотрудник именинником за указанный период? Antant DAX: Программирование 10 16.05.2008 15:55
Буферные ячейки на складе - зачем? renat DAX: Функционал 16 01.04.2004 20:22
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:51.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.