28.02.2018, 15:09 | #1 |
Участник
|
Обновление поля на форме при выборе Фин аналитик
Требование:
Есть форма PurchTable. При выборе пользователем значения одной из аналитик нужно пересчитывать значение в поле "Условия оплаты" (Payment ) и также делать его недоступными для редактирования Подкажите, пожалуйста, где можно в стандартном функционале посмотреть похожее поведение в случае перевыбора одной из аналитик на форме? AX2012 R3 |
|
28.02.2018, 15:35 | #2 |
Участник
|
А просто ловить modifiedField поля DefaultDimension не получится?
|
|
28.02.2018, 15:41 | #3 |
Участник
|
Тогда будет реагировать на изменение любой из аналитик, что, видимо, противоречит условиям задачи.
Можно ловить на modifiedField и парсить DefaultDimension vs orig().DefaultDimension если нужно отлавливать изменения какой-то конкретной аналитики. |
|
28.02.2018, 15:44 | #4 |
Участник
|
|
|
28.02.2018, 15:54 | #5 |
Участник
|
это да, поэтому я и дописал второе предложение Я так понял затруднение вызывает именно распарсить DefaultDimension
|
|
28.02.2018, 16:33 | #6 |
Участник
|
|
|
28.02.2018, 17:54 | #7 |
Участник
|
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 |
Участник
|
С одной стороны нашел что
"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 |
NavAx
|
Пальцем в небо....
Попробуйте отловить тут LedgerDimensionController.validate() |
|
|
За это сообщение автора поблагодарили: EVGL (1). |
28.02.2018, 23:58 | #10 |
северный Будда
|
А что мешает поставить эту логику на update? После сохранения значение DefaultDimension изменится гарантированно
__________________
С уважением, Вячеслав |
|
01.03.2018, 19:05 | #11 |
Участник
|
Цитата:
Нужно , чтобы пересчет и установка поля в EllowEdit = no на форме сразу происходила. (в крайнем случае можно, конечно, делать update и обновление записи ради этого, но в идеале,ест-но, хотелось бы этого избежать) Последний раз редактировалось kitty; 01.03.2018 в 19:10. |
|
01.03.2018, 19:06 | #12 |
Участник
|
|
|
01.03.2018, 21:36 | #13 |
Участник
|
Чего только не придумают, как вариант, сделайте наследника DimensionLinkProvider для вашей аналитики, подпишитесь на событие setFieldValue, и в нем уже устанавливайте значения в другие поля курсора.
__________________
Sergey Nefedov |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2), kitty (1). |
05.03.2018, 17:19 | #14 |
Участник
|
|
|