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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.05.2018, 12:26   #1  
yuriy_64 is offline
yuriy_64
Участник
 
88 / 10 (1) +
Регистрация: 21.03.2014
? Сравнить записи в одной таблице
Доброе время суток.
Необходимо найти различия в одной и той же таблице у разных записей.
Старый 30.05.2018, 13:08   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Надо больше информации о сценарии.

Мне пришло в голову две идеи. 1. Используя SysDictTable обойти все поля и сравнить
2) в ax2012 и раньше был т пример применения syscompare (там tutorial Ви названии) для визуализации отличий записей.

См также как правильно задать вопросы в моей подписи.
Старый 30.05.2018, 14:53   #3  
yuriy_64 is offline
yuriy_64
Участник
 
88 / 10 (1) +
Регистрация: 21.03.2014
Я уже смотрел как делать через Dictionary, примеры есть. Но Аксапта 3.0, кое чего не хватает, особенно по сравнению с 2012.
Старый 30.05.2018, 15:08   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Из вопроса не ясно. Вы пишите абстрактный код который должен уметь работать с любой таблицей в системе? Или вы просто так абстрактно сформулировали задачу а на самом деле вам нужно к примеру дубликаты контрагентов выбрать?

Опишите задачу подробнее. Если есть пусть и неработающий код, то покажите его. Тогда можно будет хоть что-то посоветовать.
Старый 30.05.2018, 15:24   #5  
yuriy_64 is offline
yuriy_64
Участник
 
88 / 10 (1) +
Регистрация: 21.03.2014
void Check_Records(str _tableName, ItemId _itemId1, ItemId _itemId2)
{
int kol;

Dictionary dict = new Dictionary();
DictTable Dt = new DictTable(dict.tablename2id(_tableName));
FieldId fieldId;
int fieldCnt;
int fieldIds[];
str fieldNames[];
boolean nonSystemField[];
;
fieldCnt = Dt.fieldCnt();

for (kol = 1; kol <= fieldCnt; kol += 1)
{
fieldIds[kol] = Dt.fieldCnt2Id(kol);
fieldNames[kol] = Dt.fieldName(fieldIds[kol]);

}
}
Данный метод должен смотреть любую таблицу. Но здесь, похоже, (уже начинаю тупить) смотрит только одну запись и идет перебор по полям. А мне нужно сравнивать две записи одной таблицы.
Старый 30.05.2018, 16:29   #6  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от yuriy_64 Посмотреть сообщение
...
Данный метод должен смотреть любую таблицу. Но здесь, похоже, (уже начинаю тупить) смотрит только одну запись и идет перебор по полям. А мне нужно сравнивать две записи одной таблицы.
void compareTwoRecords(Record1, Record1)
{
void compareTwoFields(Field1, Field2)
}
Старый 30.05.2018, 17:03   #7  
yuriy_64 is offline
yuriy_64
Участник
 
88 / 10 (1) +
Регистрация: 21.03.2014
Это откуда такое?
Старый 30.05.2018, 18:05   #8  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
http://www.axaptapedia.com/Accessing_record_fields
За это сообщение автора поблагодарили: yuriy_64 (1).
Старый 30.05.2018, 20:01   #9  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
http://alexvoy.blogspot.com/2013/09/...ame-table.html

с примерами и кодом
__________________
Felix nihil admirari
За это сообщение автора поблагодарили: sukhanchik (4), yuriy_64 (1).
Теги
сравнить записи

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2012 R2: Partition и RecId первой записи в таблице Kabardian DAX: Прочие вопросы 0 15.09.2014 10:49
Как проверить наличие хотя бы одной записи в подчиненной таблице. demon46 DAX: Программирование 5 07.03.2008 09:41
Как убрать автоматическую подстановку значения в таблице demon46 DAX: Функционал 6 28.02.2008 14:16
Новые записи в таблице без генерации recId Perc DAX: Программирование 23 14.12.2005 18:10
Автоматическое увеличение значения поля при создании новой записи. sguryev DAX: Программирование 3 06.02.2003 14:00

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

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

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