30.04.2021, 14:01 | #1 |
Участник
|
DAX2009 сохранение значения всех полей таб.переменной вовне
Привет.
Кто-нибудь может поделится методом позволяющим сохранить все поля табличной переменной куда-нибудь вовне AX (например в файл в виде xml или еще как, в котором будет "имя поля" - "значение"). Задача. Понадобилось проанализировать список изменяемых полей до и после выполнения блока команд. Т.е. нужно куда то сохранить список всех полей таб.переменной ДО выполнения блока команд, а потом сохранить список всех полей этой же переменной ПОСЛЕ выполнения блока команд. Для ручного анализа и поиска какие поля поменялись. P.S. Я подумал может кто-нибудь задавался такой задачей, и реализовал такой удобный метод Последний раз редактировалось oleggy; 30.04.2021 в 14:10. |
|
30.04.2021, 14:10 | #2 |
Участник
|
Не пробовали журналирование включить на таблице
Там будет вам и "кто" и "когда" и "что на что" поменял. |
|
30.04.2021, 14:26 | #3 |
Участник
|
У табличной переменной есть метод xml()
Если не устроит стандартная реализация можете сами перебрать в цикле все поля таблицы и сгенерировать строку в нужном вам формате. Пример как это сделать можно посмотреть в методах buf2buf() или buf2con() класса Global |
|
01.05.2021, 11:17 | #4 |
Участник
|
Файл xml из 200 полей "до" и "после" очень увлекательно сравнивать вручную
Быстрее свою функцию написать, которая будет перебирать и сравнивать поля по списку из DictTable.
__________________
Дмитрий |
|
01.05.2021, 11:56 | #5 |
Участник
|
|
|
05.05.2021, 12:18 | #6 |
Участник
|
Цитата:
В моем случае моменты ДО / ПОСЛЕ происходят в где то середине блоков команд до выполнения update(). Последний раз редактировалось oleggy; 05.05.2021 в 12:20. |
|
05.05.2021, 14:10 | #7 |
Сенбернар
|
Цитата:
А зачем это нужно, позвольте поинтересоваться? DataBaseLog - отражает реальные изменения в БД. А вот что должен отразить Ваш метод - я как-то пока даже представить себе не могу...
__________________
Best Regards, Roman Последний раз редактировалось RVS; 05.05.2021 в 14:14. |
|
05.05.2021, 17:49 | #8 |
Участник
|
Цитата:
Выгрузка в файл - сомнительный способ анализа в этом случае. Неудобно слишком
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
19.05.2021, 16:21 | #9 |
Участник
|
может пригодиться
https://alexvoy.blogspot.com/2013/09...ame-table.html
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: oleggy (1). |
20.05.2021, 07:47 | #10 |
Участник
|
Цитата:
Т.к. на update генерировалась ошибка, соответственно журнал БД тут не помог бы, ничего не сохраняется. Нужно было найти какое значение в каком поле причина ошибки. Последний раз редактировалось oleggy; 20.05.2021 в 09:01. |
|
20.05.2021, 07:52 | #11 |
Участник
|
Цитата:
В процессе дебага удобно выгружать как раз куда то вне аксапты, что бы потом этот файл открыть. Аксапта же блокируется на момент дебага. А так вписал в двух местах в код сохранить значения таблицы а потом эти два файла открыть в том же Notepad и посмотреть.. Это же для оперативных случаев, что бы по быстрому понять причину. Конечно если засесть плотно то можно и ручным способом все найти. Только это время. |
|
21.05.2021, 22:10 | #12 |
----------------
|
X++: XMLDocument::newXml(CompanyInfo::find().xml()).save(strFmt("C:\\Temp\\companyInfo%1.xml", timenow())); |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Получение значения из поля диалога AX2009 | 11 | |||
Как изменить значения полей из кода? | 12 | |||
Значения по умолчанию | 22 | |||
пересчет полей на форме | 1 | |||
очистка полей. простой вопрос | 4 |
|