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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.02.2016, 12:51   #1  
Skolos is offline
Skolos
Участник
 
56 / 13 (1) ++
Регистрация: 06.01.2016
:( Как правильно отобразить значение поля таблицы
Добрый день.

Есть 2 таблицы. В 1й есть 2 поля, CustStatusId и Description. Во 2й таблице есть поле CustStatus, и установлен relation на поле CustStatusId. Связь между таблицами не по RecId.
На форме есть StringEdit привязанный к полю CustStatus 2й таблицы.

Вопрос. Как мне на форме в этом StringEdit отобразить значение поля Description?
Старый 25.02.2016, 13:00   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
StringEdit отображает значение того поля, к которому он привязан. В вашем случае он должен быть привязан к полю Description 2й таблицы. Для этого 2я таблица должна присутствовать в списке источников данных формы. Чтобы источники данных выдавали согласованные данные, они должны быть связаны.

P.S.: Будьте осторожны при организации редактирования (вставки удаления строк) связанных источников. Есть нюансы.
Старый 25.02.2016, 13:13   #3  
Skolos is offline
Skolos
Участник
 
56 / 13 (1) ++
Регистрация: 06.01.2016
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
StringEdit отображает значение того поля, к которому он привязан. В вашем случае он должен быть привязан к полю Description 2й таблицы. Для этого 2я таблица должна присутствовать в списке источников данных формы. Чтобы источники данных выдавали согласованные данные, они должны быть связаны.

P.S.: Будьте осторожны при организации редактирования (вставки удаления строк) связанных источников. Есть нюансы.
Спасибо. В том то и дело, что нельзя его привязать к Description. Там уже завязан некий функционал с CustStatusId. Возможно есть обходные пути? Через функции и т.д.?
Старый 25.02.2016, 14:02   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Skolos Посмотреть сообщение
Спасибо. В том то и дело, что нельзя его привязать к Description. Там уже завязан некий функционал с CustStatusId.
Если уже существующий StringEdit так важен и его трогать нельзя, то зачем Description отображать именно в нём? Нельзя ли второй StringEdit под это дело создать? Расскажите подробнее какую проблему вы решаете. Возможно вы не правильно поставили задачу?
Старый 25.02.2016, 14:59   #5  
Skolos is offline
Skolos
Участник
 
56 / 13 (1) ++
Регистрация: 06.01.2016
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Если уже существующий StringEdit так важен и его трогать нельзя, то зачем Description отображать именно в нём? Нельзя ли второй StringEdit под это дело создать? Расскажите подробнее какую проблему вы решаете. Возможно вы не правильно поставили задачу?
Не знаю, правильно ли я все описал. Только начинаю изучать АХ. В прикрепленном изображении нарезка скринов. Поля таблиц, связь и то что нужно отображать. Я понимаю, что просто и правильно будет поле CustStatus привязать к полю Description. Тогда оно и отобразится. Только нельзя мне так делать. Вот и ищу пути решения.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 411
Размер:	53.0 Кб
ID:	9519  
Старый 25.02.2016, 15:43   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Вы хотите сохранять код выбранного статуса, а отображать описание? Какая версия системы у вас? До AX2012 стандартных механизмов для этого в системе не предусмотрено.

Поле описание у вас может содержать не уникальные значения? Что делать если пользователь выберет такое значение не из списка, а введёт вручную с клавиатуры?
Старый 25.02.2016, 15:53   #7  
Skolos is offline
Skolos
Участник
 
56 / 13 (1) ++
Регистрация: 06.01.2016
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Вы хотите сохранять код выбранного статуса, а отображать описание? Какая версия системы у вас? До AX2012 стандартных механизмов для этого в системе не предусмотрено.

Поле описание у вас может содержать не уникальные значения? Что делать если пользователь выберет такое значение не из списка, а введёт вручную с клавиатуры?
Да, нужно сохранять код выбранного статуса, а отображать описание, АХ2012. Если в ручную, без разницы, будет валидироваться или нет.
Старый 25.02.2016, 16:24   #8  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Skolos Посмотреть сообщение
Да, нужно сохранять код выбранного статуса, а отображать описание, АХ2012.
Рекомендуется использовать суррогатный ключ
Старый 25.02.2016, 18:27   #9  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от Skolos Посмотреть сообщение
Да, нужно сохранять код выбранного статуса, а отображать описание, АХ2012. Если в ручную, без разницы, будет валидироваться или нет.
А можно с этого места поподробнее? Обычно задача ведь не формулируется как "сохранять это, а отображать это". Озвучьте задачу плз. Ибо указанный вами вариант выглядит несколько странно. Понятна подмена суррогатного ключа, но зачем подменять текстовое значение?
__________________
С уважением,
Вячеслав
Старый 25.02.2016, 19:08   #10  
Skolos is offline
Skolos
Участник
 
56 / 13 (1) ++
Регистрация: 06.01.2016
Цитата:
Сообщение от pitersky Посмотреть сообщение
А можно с этого места поподробнее? Обычно задача ведь не формулируется как "сохранять это, а отображать это". Озвучьте задачу плз. Ибо указанный вами вариант выглядит несколько странно. Понятна подмена суррогатного ключа, но зачем подменять текстовое значение?
В моем случае задача формулируется именно таким образом. Сейчас, в моем StringEdit мы выбираем некий Статус клиента. Это значение записывается в CustTable.NASCustStatus и этот же StringEdit отображает значение Статус клиента(.CustStatusId ). На прикрепленной выше картинке видно.

А хотят, что бы он отображал значение Описание (Description)

Вот думаю попробовать решить это при помощи Display метода, лукапа и модифайда.
Старый 25.02.2016, 19:15   #11  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Как они относятся к тому что во всей остальной системе либо через recidn либо говорящий натуральный ключ?
Старый 25.02.2016, 20:45   #12  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Skolos Посмотреть сообщение
Вот думаю попробовать решить это при помощи Display метода, лукапа и модифайда.
Display метод + модифайд = Edit метод
https://msdn.microsoft.com/en-us/lib...or=-2147217396
Старый 25.02.2016, 21:30   #13  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Skolos Посмотреть сообщение
В моем случае задача формулируется именно таким образом. Сейчас, в моем StringEdit мы выбираем некий Статус клиента. Это значение записывается в CustTable.NASCustStatus и этот же StringEdit отображает значение Статус клиента(.CustStatusId ). На прикрепленной выше картинке видно.

А хотят, что бы он отображал значение Описание (Description)
В таких случаях обычно делают не замещение, а дополнение. Т.е. на форме отображаются два поля:

1. Статус - который собственно и меняем и к нему прикреплен Lookup
2. "Расшифровка статуса" - это дисплейный метод рядом с этим полем. Или, если хотят иметь возможность фильтрации по расшифровке, то делается поле таблицы (но тут есть ряд проблем)
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX 2012 R2: импорт данных через Excel Add-in и добавление поля в стандартную таблицу Kabardian DAX: Программирование 1 13.02.2014 22:40
Значение поля и маска Sergo4 DAX: Программирование 6 02.02.2011 14:58
Как правильно связать таблицы в форме? Как показать параметры партии? mazzy DAX: Программирование 10 27.10.2010 15:56
Название поля и таблицы... NetBus DAX: Программирование 1 08.07.2005 16:45
Не устанавливается EDT для поля таблицы Filip DAX: Программирование 3 29.10.2004 13:52
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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