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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.02.2018, 15:09   #1  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
Обновление поля на форме при выборе Фин аналитик
Требование:
Есть форма PurchTable. При выборе пользователем значения одной из аналитик нужно пересчитывать значение в поле "Условия оплаты" (Payment ) и также делать его недоступными для редактирования

Подкажите, пожалуйста, где можно в стандартном функционале посмотреть похожее поведение в случае перевыбора одной из аналитик на форме?

AX2012 R3
Старый 28.02.2018, 15:35   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
А просто ловить modifiedField поля DefaultDimension не получится?
Старый 28.02.2018, 15:41   #3  
greench is offline
greench
Участник
Oracle
 
425 / 74 (3) ++++
Регистрация: 12.07.2007
Адрес: Киев
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
А просто ловить modifiedField поля DefaultDimension не получится?
Тогда будет реагировать на изменение любой из аналитик, что, видимо, противоречит условиям задачи.

Можно ловить на modifiedField и парсить DefaultDimension vs orig().DefaultDimension если нужно отлавливать изменения какой-то конкретной аналитики.
Старый 28.02.2018, 15:44   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от greench Посмотреть сообщение
Тогда будет реагировать на изменение любой из аналитик, что, видимо, противоречит условиям задачи.
Да, но не обязательно одинаково реагировать на все изменения. Можно же определять что именно изменилось, сравнивая новые значения со значениями полученными из orig().
Старый 28.02.2018, 15:54   #5  
greench is offline
greench
Участник
Oracle
 
425 / 74 (3) ++++
Регистрация: 12.07.2007
Адрес: Киев
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Да, но не обязательно одинаково реагировать на все изменения. Можно же определять что именно изменилось, сравнивая новые значения со значениями полученными из orig().
это да, поэтому я и дописал второе предложение Я так понял затруднение вызывает именно распарсить DefaultDimension
Старый 28.02.2018, 16:33   #6  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от greench Посмотреть сообщение
Я так понял затруднение вызывает именно распарсить DefaultDimension
Циклом пройтись по dimstorage и при нужном dimension запускать нужный функционал. Похожая задача была для отдельной аналитики. Пример кода могу скинуть чуть позже.
Старый 28.02.2018, 17:54   #7  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
modifiedField на PurchTable не срабатывает при изменении значения в одной из аналитик. В этом проблема ....
То есть, я добавила
X++:
        case fieldNum(PurchTable, DefaultDimension):
но я вижу, что метод даже не вызывается ( для других полей - все ок, заходит в него)

При этом, цепочка действий у меня для тестировани такая :
1) изменила любое стд поле на purchTable -.> сработал modifiedField . Я тут же запомнила defaultDimension значение, что было у записи
2) меняю одну из аналитик -> не срабатывает modifiedField .
3) изменила снова любое стд поле на purchTable -.> сработал modifiedField . Сравниваю defaultDimension со значением , что я запомнила в (1), вижу. что поменялось .....

Breakpoint, ест-но, стоит в начале метода modifiedField. То есть, не внутри case fieldNum(PurchTable, DefaultDimension) ....

Последний раз редактировалось kitty; 28.02.2018 в 18:02.
Старый 28.02.2018, 18:55   #8  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
С одной стороны нашел что
"The problem is that the dimension controls are dynamically build on the form. So adding logic to trigger events on modifying the values is quite impossible"
Но с другой стороны в 7-ке срабатывает modifiedField на defaultdimension поле, у нас на нем там очень много логики завязано, правда это projTable, но это не должно менять сути дела.
Проверьте, на форме датасорс для группы полей указан?
Старый 28.02.2018, 18:58   #9  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Пальцем в небо....
Попробуйте отловить тут LedgerDimensionController.validate()
За это сообщение автора поблагодарили: EVGL (1).
Старый 28.02.2018, 23:58   #10  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
А что мешает поставить эту логику на update? После сохранения значение DefaultDimension изменится гарантированно
__________________
С уважением,
Вячеслав
Старый 01.03.2018, 19:05   #11  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
Цитата:
Сообщение от pitersky Посмотреть сообщение
А что мешает поставить эту логику на update? После сохранения значение DefaultDimension изменится гарантированно
Мешает требование.
Нужно , чтобы пересчет и установка поля в EllowEdit = no на форме сразу происходила.
(в крайнем случае можно, конечно, делать update и обновление записи ради этого, но в идеале,ест-но, хотелось бы этого избежать)

Последний раз редактировалось kitty; 01.03.2018 в 19:10.
Старый 01.03.2018, 19:06   #12  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
Цитата:
Сообщение от raz Посмотреть сообщение
Пальцем в небо....
Попробуйте отловить тут LedgerDimensionController.validate()
Спасибо. Попробую
Старый 01.03.2018, 21:36   #13  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Чего только не придумают, как вариант, сделайте наследника DimensionLinkProvider для вашей аналитики, подпишитесь на событие setFieldValue, и в нем уже устанавливайте значения в другие поля курсора.
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: S.Kuskov (2), kitty (1).
Старый 05.03.2018, 17:19   #14  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
Цитата:
Сообщение от SRF Посмотреть сообщение
Чего только не придумают, как вариант, сделайте наследника DimensionLinkProvider для вашей аналитики, подпишитесь на событие setFieldValue, и в нем уже устанавливайте значения в другие поля курсора.
Большое спасибо! Работает!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
10 фин аналитик Dax2009 в складском журнале не работают Brosha DAX: Функционал 4 09.02.2017 13:45
Управление на форме атрибутами поля из табличной группы программно VBF DAX: Программирование 8 20.01.2014 13:56
Не хватает фин. аналитик при пересчете и закрытии склада Geo DAX: Функционал 7 23.10.2010 00:24
Скл.аналитика сайт, перенос и фин.аналитик Bega DAX: Функционал 32 03.06.2010 18:06
Аксапта 4.0 - иерархия фин. аналитик. slava09 DAX: Функционал 12 04.07.2006 10:04

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

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

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