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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.04.2021, 14:01   #1  
oleggy is offline
oleggy
Участник
 
145 / 18 (1) ++
Регистрация: 03.12.2019
DAX2009 сохранение значения всех полей таб.переменной вовне
Привет.
Кто-нибудь может поделится методом позволяющим сохранить все поля табличной переменной куда-нибудь вовне AX (например в файл в виде xml или еще как, в котором будет "имя поля" - "значение").

Задача.
Понадобилось проанализировать список изменяемых полей до и после выполнения блока команд.
Т.е. нужно куда то сохранить список всех полей таб.переменной ДО выполнения блока команд, а потом сохранить список всех полей этой же переменной ПОСЛЕ выполнения блока команд.
Для ручного анализа и поиска какие поля поменялись.
P.S.
Я подумал может кто-нибудь задавался такой задачей, и реализовал такой удобный метод

Последний раз редактировалось oleggy; 30.04.2021 в 14:10.
Старый 30.04.2021, 14:10   #2  
smailik is offline
smailik
Участник
Аватар для smailik
 
230 / 56 (2) ++++
Регистрация: 10.04.2012
Адрес: Москва
Не пробовали журналирование включить на таблице
Там будет вам и "кто" и "когда" и "что на что" поменял.
Старый 30.04.2021, 14:26   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,305 / 1631 (61) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
У табличной переменной есть метод xml()

Если не устроит стандартная реализация можете сами перебрать в цикле все поля таблицы и сгенерировать строку в нужном вам формате.
Пример как это сделать можно посмотреть в методах buf2buf() или buf2con() класса Global
Старый 01.05.2021, 11:17   #4  
Damn is offline
Damn
Участник
 
410 / 121 (5) +++++
Регистрация: 28.05.2003
Адрес: Москва
Цитата:
Сообщение от oleggy Посмотреть сообщение
Для ручного анализа и поиска какие поля поменялись.
Файл xml из 200 полей "до" и "после" очень увлекательно сравнивать вручную
Быстрее свою функцию написать, которая будет перебирать и сравнивать поля по списку из DictTable.
__________________
Дмитрий
Старый 01.05.2021, 11:56   #5  
Pandasama is offline
Pandasama
Участник
 
262 / 64 (3) ++++
Регистрация: 11.08.2014
Адрес: Барнаул
Цитата:
Сообщение от Damn Посмотреть сообщение
Файл xml из 200 полей "до" и "после" очень увлекательно сравнивать вручную
Да любой сравнивалкой текста, типа notepad++
Старый 05.05.2021, 12:18   #6  
oleggy is offline
oleggy
Участник
 
145 / 18 (1) ++
Регистрация: 03.12.2019
Цитата:
Сообщение от smailik Посмотреть сообщение
Не пробовали журналирование включить на таблице
Там будет вам и "кто" и "когда" и "что на что" поменял.
Этот вариант походит только если момент ДО - перед всеми изменениями а момент ПОСЛЕ - перед выполнением update().
В моем случае моменты ДО / ПОСЛЕ происходят в где то середине блоков команд до выполнения update().

Последний раз редактировалось oleggy; 05.05.2021 в 12:20.
Старый 05.05.2021, 14:10   #7  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
681 / 129 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от oleggy Посмотреть сообщение
Этот вариант походит только если момент ДО - перед всеми изменениями а момент ПОСЛЕ - перед выполнением update().
В моем случае моменты ДО / ПОСЛЕ происходят в где то середине блоков команд до выполнения update().
... и, соответственно, ttscommit, так?

А зачем это нужно, позвольте поинтересоваться?

DataBaseLog - отражает реальные изменения в БД. А вот что должен отразить Ваш метод - я как-то пока даже представить себе не могу...
__________________
Best Regards,
Roman

Последний раз редактировалось RVS; 05.05.2021 в 14:14.
Старый 05.05.2021, 17:49   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,535 / 1021 (38) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от oleggy Посмотреть сообщение
В моем случае моменты ДО / ПОСЛЕ происходят в где то середине блоков команд до выполнения update().
Если речь идет о процессе изменения, то можно смотреть в отладчике (debugger). Все изменения будут выделяться красным цветом. Т.е. по шагам выполняешь процесс в отладчике и смотришь, какие поля меняют цвет

Выгрузка в файл - сомнительный способ анализа в этом случае. Неудобно слишком
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Получение значения из поля диалога AX2009 syl DAX: Программирование 11 14.07.2015 18:14
Как изменить значения полей из кода? andriy_s DAX: Программирование 12 19.03.2010 23:37
Значения по умолчанию kvg6 DAX: Программирование 22 26.05.2006 15:45
пересчет полей на форме kitty DAX: Программирование 1 04.10.2005 12:50
очистка полей. простой вопрос Антон Солдатов DAX: Программирование 4 04.04.2003 10:28
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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