01.07.2019, 19:06 | #1 |
Участник
|
SalesLine datasource change untraceable
Здраствуйте уважаемые колеги,
у меня такая такая проблема. Работаю над кастомной формой, копия SalesTable формы с кучей дороботок, при открытии формы делается какое то изменение в датасорсе salesline что приводит к ошибке, This sales order has been invoiced and cannot be modified. По идеи при открытии формы делается изменение одного из полей на датасорсе salesLine, Дебажил сутки не нашел, никто не посоветует как в дебагере проследить момент изменения значения переменной, то есть, можно ли остановить дебагер в тот момент когда переменной salesLine было вызвано присвоения какого то поля. |
|
01.07.2019, 21:06 | #2 |
Administrator
|
На уровне отладчика такой возможности нет. Есть только на уровне кода. Т.е. если Вы знаете, где меняется поле )), то там можно поставить условие - выпасть в отладчик.
X++: if (bufcmp(salesTable, salesTable.orig()) { breakpoint; }
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: trud (2). |
02.07.2019, 10:14 | #3 |
Участник
|
Так а от ошибки идти назад никак? Остановка на Info и смотреть по стеку откуда идет обновление.
__________________
Ivanhoe as is.. |
|
02.07.2019, 10:43 | #4 |
Участник
|
Я помню что есть возможность в классе обьявить переменную за которой нужно "следить", в случае изменения етой переменной система вызвет определенный метод.
D365 |
|
02.07.2019, 14:40 | #5 |
Участник
|
Я нашел решение своей проблемы , дело было в postEventHandler добавленом в екстеншене на activated.
Также я нашел ответ на свой вопрос про как "следить" за переменной, я имел ввиду FormObservable attribute. https://community.dynamics.com/365/f...ew-dynamics-ax |
|
|
За это сообщение автора поблагодарили: sukhanchik (4). |
|
|