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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.03.2005, 19:09   #1  
vey is offline
vey
Участник
 
60 / 12 (1) ++
Регистрация: 15.03.2005
Адрес: Киев
Получение из поля Map кода поля реальной таблицы, к ней привязанной (Mappings)
Привет, всем. У меня следующая проблема. Есть метод, используемый несколькими таблицами, в котором работу с данными этих таблиц осуществляю посредством использования Map. Все бы ничего, да возникла необходимость получения кода поля таблицы (для наложения ограничения, addRange). Использовать для этих целей Map не могу, поскольку, разумеется, вызов fieldNum(Map, Field1) вернет код поля именно Map, а он не обязан совпадать с кодом поля реальной таблицы, связанного с Field1. Хочется верить, что все же возможно, зная код таблицы и поле Мар добраться как-то до кода поля таблицы, связанного с полем Мар. Может, кто-то сталкивался уже с подобной задачей? Не хочется делать switch для каждой таблицы или еще как-то изворачиваться. Хочется, чтобы красивый код был и универсальный. И при добавлении новой таблицы в список использующих этот метод не приходилось дополнительно ничего кодировать...
Старый 15.03.2005, 19:32   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Сделай маппинг на TableId. Таким образом, ты всегда сможешь узнать, от какой таблицы то или иное поле.

С Уважением,
Георгий.
Старый 15.03.2005, 20:14   #3  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Не, делать маппинг на TableId не нужно, свойство TableId переменной-мапа после присваивания будет указывать на id конкретной таблицы, а не мапа.

А проблемой этой я заморачивался год назад вот тут. Можно сделать как предлагает Сергей, других способов я не нашел, а от задачи этой отказался.
__________________
Андрей.
Старый 16.03.2005, 10:37   #4  
vey is offline
vey
Участник
 
60 / 12 (1) ++
Регистрация: 15.03.2005
Адрес: Киев
Да, верно, код реальной таблицы из Мар я и так вижу, но вот дальше дело не идет. Единственное, что я смогла найти, метод primaryKeyField класса DictTable, с помощью которого могу добраться до кода поля, входящего в первичный ключ. Но мне не кажется это хорошим решением, скорее "подгоном" и извращением, к тому же мне нужно оперировать подобным образом еще с одним полем, не являющимся ни ключевым, ни уникальным... Самое обычное такое поле.
Старый 16.03.2005, 10:48   #5  
vey is offline
vey
Участник
 
60 / 12 (1) ++
Регистрация: 15.03.2005
Адрес: Киев
Почитала тему по ссылке, спасибо... Может, конечно, Мар и не предназначен для таких целей, но в моем случае это явно бы ничего не нарушило и было бы удобно и красиво. Жалко
Старый 16.03.2005, 11:16   #6  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
А метод Global::fieldName2id(int tableid, str fieldname) Вам не поможет?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Помещение временной таблицы в Map Lemming DAX: Программирование 20 19.10.2017 14:16
Как узнать есть ли привязка поля в map? ViV DAX: Программирование 7 24.10.2007 21:15
Получение кода таблицы Arahnid DAX: Программирование 2 10.05.2007 11:43
Можно ли получить recordset, используя ID таблицы и ID поля 111andrei DAX: Программирование 2 20.03.2007 12:49
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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