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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.05.2020, 11:55   #421  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
> Добавил вычислимое поле внутрь filteredinventsum

На последних скриншотах оно не внутри
Старый 22.05.2020, 14:42   #422  
soad is offline
soad
Участник
 
27 / 16 (1) ++
Регистрация: 24.07.2008
Цитата:
Сообщение от belugin Посмотреть сообщение
> Добавил вычислимое поле внутрь filteredinventsum

На последних скриншотах оно не внутри
Вроде так и сделал, добавлял внутрь. Только в этой модели поле, где идет выборка inventSum – $FiltredIS4 (в отличие от первого моего сообщения, в той модели оно назвалось filteredinventsum).
Нажмите на изображение для увеличения
Название: Вычисляемые поля2.png
Просмотров: 64
Размер:	138.5 Кб
ID:	12824

На скрине:
$FiltredIS4 – вычисляемое поле, в котором идет выборка InventSum. Сам источник InvenrSum добавлен в корень.
$FiltredInventTrans – вычисляемое поле, добавленное в $FiltredIS4. В данном поле фильтруется InventTrans, который добавлен в корень. Добавлял так, установил курсор на поле $FiltredIS4 и нажал «Добавить». Имелся в виду какой-то другой вариант добавления внутрь $FiltredIS4?
$GrInventTrans – группировка $FiltredInventTrans по физ. дате с типом агрегирования «Максимум». Данная группировка тоже добавлялась установкой курсора на поле $FiltredIS4 и нажатием кнопки «Добавить».
Надо было где-то иначе сделать?
Старый 22.05.2020, 20:39   #423  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Хотелось бы тогда узнать, что именно не получается
Старый 23.05.2020, 13:53   #424  
soad is offline
soad
Участник
 
27 / 16 (1) ++
Регистрация: 24.07.2008
Цитата:
Сообщение от belugin Посмотреть сообщение
Хотелось бы тогда узнать, что именно не получается
Поясню на другом примере, т.к. в нем проблема аналогичная, но структура данных проще и нет лишних, экспериментальных переменных.

Задача: Для необходимого перечня складских ячеек определить дату последней инвентаризации особого типа. Эта дата для ячейки должна определяться по строке складской работы, для которой:
  • Ячейка в строке работы равна искомой ячейке
  • Тип = «Инвентаризация»
  • Имеет максимальную дату в поле «Закрытая работа» строки работы (WHSWorkLine.WorkClosedUTCDateTime)
  • + доп. условия по некоторым полям шапки складской работы.


Сама дата должна браться из поля «Закрытая работа» строки работы (WHSWorkLine.WorkClosedUTCDateTime).

Идея реализации на ER:
Основные источники данных:
  • Таблица WMSLocation, добавлена в корень источников данных
  • Таблица WHSWorkLine, добавлена в корень источников данных

Вычисляемые поля и группировки:
  • Поле $FiltredWMSLocation – отбор нужных ячеек из таблицы WMSLocation, добавлена в корень источников данных. Работает так, как я ожидаю.
  • Поле $FiltredWMSWorkLinePlan – отбор нужных строк работ инвентаризации, по ячейке из $FiltredWMSLocation. Добавлено внутрь $FiltredWMSLocation. Работает так, как я ожидаю.
  • Группировка $LastPlanInventory – группировка строк работы с агрегацией по WHSWorkLine.WorkClosedUTCDateTime, с типом «Максимум», без полей для группировки. Добавлено внутрь $FiltredWMSWorkLinePlan. Работает не так, как я ожидаю – вместо максимальной даты из строк отобранных работ выдает пустую дату (1899-12-31T16:00:00-08:00). В этом основной вопрос, почему здесь получается пустая дата, что я делаю не так?

Узел (WMSWorkLine1:Список записей) был добавлен в модель, чтобы проконтролировать правильность отбора строк работы в $FiltredWMSWorkLinePlan. В XML видно, что работы отбираются корректно. По ячейке BULK-001 в принципе вопроса нет, там отобранные строки еще не в статусе «Закрыто», поэтому даты пустые и в группировке тоже должно быть пусто. Но вот по ячейке FL-004 результат непонятен, видно что отобралось две строки работы, по одной из них дата заполнена и соответственно именно она и должна была определиться группировкой и попасть в тег LastDayInventory в XML, но там почему-то пустая дата

Скрины:
Обзор источников данных:
Нажмите на изображение для увеличения
Название: Обзор источников данных.png
Просмотров: 76
Размер:	75.2 Кб
ID:	12826

Вычисляемые поля и Группировки:
Нажмите на изображение для увеличения
Название: Вычисляемые поля и Группировки.png
Просмотров: 74
Размер:	94.6 Кб
ID:	12827

Детали группировки:
Нажмите на изображение для увеличения
Название: Детали группировки.png
Просмотров: 63
Размер:	79.0 Кб
ID:	12828

Сопоставление модели и источников данных:
Нажмите на изображение для увеличения
Название: Сопоставление модели и источников данных.png
Просмотров: 68
Размер:	212.7 Кб
ID:	12829

Отбор данных в модель по ячейкам FL-004 и BULK-001:
Нажмите на изображение для увеличения
Название: Отбор данных в модель по ячейкам FL-004 и BULK-001.png
Просмотров: 63
Размер:	129.9 Кб
ID:	12830
Старый 23.05.2020, 13:59   #425  
soad is offline
soad
Участник
 
27 / 16 (1) ++
Регистрация: 24.07.2008
Есть еще один вопрос по входным параметрам. Как-то можно организовать входные параметры так, чтобы одно поле было зависимо от другого?
Например, в диалоге должно быть два поля: Склад и ячейка. При этом если выбран склад, то в поле «Ячейка» должны быть доступны для выбора только те ячейки, которые относятся к этому складу. Но если склад не выбран, то отчет строится по всем складам и всем ячейкам.
Старый 24.05.2020, 20:13   #426  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от soad Посмотреть сообщение
Поясню на другом примере, т.к. в нем проблема аналогичная, но структура данных проще и нет лишних, экспериментальных переменных.
Я вижу, что группировка помещена внутрь того, что она группирует. Если что-то находится внутри какого-то списка, то все ссылки на уровень этого списка и ниже выбирают записи относительно текущего элемента этого списка. Т.е. в данном вычисляется максимум одной текущей записи списка.

Цитата:
Сообщение от soad Посмотреть сообщение
Есть еще один вопрос по входным параметрам. Как-то можно организовать входные параметры так, чтобы одно поле было зависимо от другого?
Такое можно организовать только кодом - строя весь интерфейс в X++ и передавая параметры из него в отчет.
Старый 25.05.2020, 08:28   #427  
soad is offline
soad
Участник
 
27 / 16 (1) ++
Регистрация: 24.07.2008
Цитата:
Сообщение от belugin Посмотреть сообщение
Я вижу, что группировка помещена внутрь того, что она группирует. Если что-то находится внутри какого-то списка, то все ссылки на уровень этого списка и ниже выбирают записи относительно текущего элемента этого списка. Т.е. в данном вычисляется максимум одной текущей записи списка.
Можете подсказать на какой уровень иерархии источников данных будет правильно добавить группировку?
Добавил в модель узел WMSWorkLineGrouped в нем строки отобранных работ из $FiltredWMSWorkLinePlan группируются по ячейке из строк работы, и агрегируются по дате закрытия строки, чтобы контролировать что именно попадает в группировку.

Попробовал два варианта, оба не дали нужного результата.

Вариант А – Группировка $LastPlanInventory3 добавлена в корень источников данных.
Нажмите на изображение для увеличения
Название: Группировка в корне.png
Просмотров: 54
Размер:	200.3 Кб
ID:	12832

В результате выполнения XML видно, что это неправильный вариант, т.к. ячейка в $FiltredWMSWorkLinePlan не совпадает с тем, что есть в результатах группировки. Получается, что на вход группировки подается явно не тот набор записей.

Нажмите на изображение для увеличения
Название: XML Группировка в корне.png
Просмотров: 66
Размер:	127.9 Кб
ID:	12833


Вариант Б - Группировка $LastPlanInventory2 добавлена как дочерний элемент $FiltredWMSLocation, т.е. находится на одном уровне с $FiltredWMSWorkLinePlan, которое отбирает группируемые строки работ.
Нажмите на изображение для увеличения
Название: Группировка на одном уровне с $FiltredWMSWorkLinePlan.png
Просмотров: 65
Размер:	198.6 Кб
ID:	12834

Думал что это вариант, будет верным, но он тоже дает не тот результат. Ячейка в $FiltredWMSWorkLinePlan и $LastPlanInventory2 совпадает, но результат группировки даты в $LastPlanInventory2 – опять пустой ((
Нажмите на изображение для увеличения
Название: XML Группировка на одном уровне с $FiltredWMSWorkLinePlan.png
Просмотров: 53
Размер:	108.5 Кб
ID:	12835

Проблема в том, что группировка должна быть добавлена на какой-то другой уровень иерархии источников данных?
Старый 25.05.2020, 21:38   #428  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Второй вариант похож на правду. Попробуйте добавить вывод самих дат уровнем ниже (из Lines) чтобы понять по каким строкам собирается группа
Старый 26.05.2020, 08:23   #429  
soad is offline
soad
Участник
 
27 / 16 (1) ++
Регистрация: 24.07.2008
Цитата:
Сообщение от belugin Посмотреть сообщение
Второй вариант похож на правду. Попробуйте добавить вывод самих дат уровнем ниже (из Lines) чтобы понять по каким строкам собирается группа
Вот так?
Нажмите на изображение для увеличения
Название: Сопоставление модели, lines.png
Просмотров: 65
Размер:	169.0 Кб
ID:	12836

При выполнении сопоставления видно, что в группировку берутся нужные строки, но в сгруппированная дата при этом - пустая.
Нажмите на изображение для увеличения
Название: XML Сопоставление модели, lines.png
Просмотров: 59
Размер:	100.8 Кб
ID:	12838
За это сообщение автора поблагодарили: belugin (5).
Старый 26.05.2020, 13:09   #430  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Похоже на ошибку в вычслении максимума даты и время.
Можно попробовать сделать минимальный пример на максимум, где в исходных данных будет nullDateTime и сравнить меняется ли результат от переключение места выполнения SQL | Память на группировке.

Если меняется, то зарегистрировать багу.

В качестве воркэраунда можно попробовать вычистить все вычислимые поля под списком который берет группировка и заставить её выполняться на SQL.
Старый 26.01.2021, 14:07   #431  
Chelovek is offline
Chelovek
Участник
 
4 / 10 (1) +
Регистрация: 20.01.2021
Всем привет. Только начинаю осваивать GER, может данный вопрос покажется глупым, но все же. Каким образом можно настроить GER для импорта банковской выписки, что бы при загрузке данных игнорировалось поле "Валюта" ? В наших платежках такого поля в принципе нет, но в стандартном формате данное поле заложено. В итоге при загрузке данных ругается на данное поле необходимо заполнить.
Старый 14.05.2021, 18:01   #432  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Загрузил из репозитария LCS Electronic trial balance detail report model c маппингом Trial balance detail data mapping и форматом Trial balance with transactional detail (excel).
В модели есть ветка ReportHeader (FromDate, ToDate, FinancialSet), которая смапплена с методами класса LedgerTrialBalanceDetailERContract.
При вызове формата на выполнение в диалоговом окне поля для ввода параметров отчета не отображаются, хотя если я правильно помню, все параметры, которые используются в формате, должны автоматически выводится в диалоговом окне.
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 27
Размер:	103.2 Кб
ID:	13167
Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 31
Размер:	65.0 Кб
ID:	13168
Что тут может быть не так?
Старый 14.05.2021, 18:24   #433  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Libovs Посмотреть сообщение
Что тут может быть не так?
Мне не очень понятно, что вы ожидаете. Обычно источники данных типа "Объект" получают данные снаружи от вызывающего X++ кода.

Автоматически показываются пользователю "User Input Parameter" и "Table Records" c установленным "Ask for query"
Старый 14.05.2021, 18:55   #434  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Спасибо, понял - чтобы параметры можно было задавать в диалоговом окне они должны быть "User Input Parameter".
Но тогда получается, что такой отчет как этот из формы ERSolutionTable выполнять/отлаживать в принципе невозможно?
Старый 14.05.2021, 19:07   #435  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
И как вообще этот отчет можно запустить? Загрузил его из LCS, а откуда его можно запустить на выполнение? Или нужен программист, чтобы он кодировал новый menuitem?
Старый 15.05.2021, 09:39   #436  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Если отчет получен от MS то уже где-то есть вызов этого отчета.

Просто поискав я нашел блог пост про то как им пользоваться.

Еще можно поискать по исходникам где используется LedgerTrialBalanceDetailERContract если интересно как вызывается отчет программно.
За это сообщение автора поблагодарили: trud (5).
Старый 19.05.2021, 17:00   #437  
axm2017 is offline
axm2017
Участник
 
1,748 / 292 (13) ++++++
Регистрация: 15.05.2017
Так как было время то немножко разбирался с импортом данных использую ER и наверное кину пример. Но так как слабо разбираюсь в теме то кину это здесь чтобы коллеги поправили, дополнили, поделились опытом.

С помощью импорта данных в Ax используя ER вы можете закачать данные в Entity, таблички и view. Первый пункт позволяет продвинутому пользователю ака консультанту вполне успешно обходиться без разработчика.

Для этого требуется: определить модель данных (как ранее писалось это пользовательское описание сущностей) для импорта смысл не особо меняется.


Закачать данные сейчас можно в формате Excel, JSON и тп кроме PDF(!?) хотя в списке вариантов он есть.
Старый 19.05.2021, 20:41   #438  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от axm2017 Посмотреть сообщение
Так как было время то немножко разбирался с импортом данных использую ER и наверное кину пример. Но так как слабо разбираюсь в теме то кину это здесь чтобы коллеги поправили, дополнили, поделились опытом.

С помощью импорта данных в Ax используя ER вы можете закачать данные в Entity, таблички и view. Первый пункт позволяет продвинутому пользователю ака консультанту вполне успешно обходиться без разработчика.

Для этого требуется: определить модель данных (как ранее писалось это пользовательское описание сущностей) для импорта смысл не особо меняется.


Закачать данные сейчас можно в формате Excel, JSON и тп кроме PDF(!?) хотя в списке вариантов он есть.
Я вот здесь детально описал: https://erconsult.eu/blog/electronic...ata-migration/
За это сообщение автора поблагодарили: axm2017 (4).
Старый 20.05.2021, 08:24   #439  
axm2017 is offline
axm2017
Участник
 
1,748 / 292 (13) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от EVGL Посмотреть сообщение
Я вот здесь детально описал: https://erconsult.eu/blog/electronic...ata-migration/
Спасибо, почитаю.

Кстати интересно можно ли присоединить свой формат файла, кроме существующих Excel и Word, JSON?
Старый 20.05.2021, 08:37   #440  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от axm2017 Посмотреть сообщение
Спасибо, почитаю.

Кстати интересно можно ли присоединить свой формат файла, кроме существующих Excel и Word, JSON?
Что такое "присоединить свой формат файла"? Расширить набор компонентов?
Теги
generic electronic reporting, ger

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ievgensaxblog: MSDyn365FO. How to Import CSV file using Electronic Reporting. Part 2 – Format. Blog bot DAX Blogs 0 06.02.2019 07:12
ievgensaxblog: MSDyn365FO. How to Import CSV file using Electronic Reporting. Part 1 – Data Model. Blog bot DAX Blogs 0 06.02.2019 07:12
erconsult: Electronic Reporting (ER) Cookbook 2: new tips from the kitchen Blog bot DAX Blogs 0 06.08.2018 17:11
powerobjects: Electronic Reporting in Dynamics 365 for Finance and Operations Blog bot DAX Blogs 0 14.02.2018 03:28
erconsult: Electronic Reporting (ER) Cookbook Blog bot DAX Blogs 24 09.10.2017 08:47
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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