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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.03.2012, 16:17   #1  
RomanK is offline
RomanK
Участник
 
41 / 11 (1) +
Регистрация: 08.11.2006
Записей в блоге: 1
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
А не проще сдеалать лукап по уникальному полю, а потом в методе modifiedField на его основании заполнить все остальные?
не, в момент когда мы вызывали лукап и заполнили значением нужное нам поле, из таблицы по которой мы сделали лукап надо в фоне затянуть еще другие значения, юзер этого не видит, но поля затягиваются. Поэтому я из лукапа возвращаю курсор и затем забираю нужные мне данные .

Цитата:
Сообщение от vallys Посмотреть сообщение
Ну тогда вам не нужно знать откуда вы попали в modified()...

1. в методе контрола modified() реализовать очистку "связанных полей" без всяких проверок, потому что:
2. метод контрола modified() вызывается ядром в рамках вызова formRun.wait()

т.е. "связанные поля" будут очищаться всегда при изменении ключевого поля, а заполняться только при успешной отработке лукапа.

З.Ы. Я так понимаю, что значение ключевого поля в лукапе НЕ уникально?
Не то чтобы не уникально, просто нужны еще данные из таблицы
Старый 22.03.2012, 16:23   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,449 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от RomanK Посмотреть сообщение
не, в момент когда мы вызывали лукап и заполнили значением нужное нам поле, из таблицы по которой мы сделали лукап надо в фоне затянуть еще другие значения, юзер этого не видит, но поля затягиваются.
И что, если юзер вместо выбора из лукапа сам напечатает в точности такое же значение, то поля затягивать уже не нужно? Какая-то странная логика...
Старый 22.03.2012, 16:24   #3  
RomanK is offline
RomanK
Участник
 
41 / 11 (1) +
Регистрация: 08.11.2006
Записей в блоге: 1
Именно так. Только по лукапу тянуться поля, ручной ввод означает разрыв связи
Старый 22.03.2012, 17:15   #4  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,822 / 402 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от RomanK Посмотреть сообщение
не, в момент когда мы вызывали лукап и заполнили значением нужное нам поле, из таблицы по которой мы сделали лукап надо в фоне затянуть еще другие значения, юзер этого не видит, но поля затягиваются. Поэтому я из лукапа возвращаю курсор и затем забираю нужные мне данные .


Не то чтобы не уникально, просто нужны еще данные из таблицы
какой-то извращенный подход. сделайте лучше как, например, на форме создания заказа на продажу, при выборе кода клиента, заполняются куча полей, и не важно написали руками или выбрали из лукапа
Старый 22.03.2012, 23:07   #5  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от RomanK Посмотреть сообщение
из таблицы по которой мы сделали лукап надо в фоне затянуть еще другие значения, юзер этого не видит, но поля затягиваются. Поэтому я из лукапа возвращаю курсор и затем забираю нужные мне данные
Не то чтобы не уникально, просто нужны еще данные из таблицы
Цитата:
Сообщение от RomanK Посмотреть сообщение
по лукапу тянуться поля, ручной ввод означает разрыв связи
Цитата:
Сообщение от ice Посмотреть сообщение
какой-то извращенный подход. сделайте лучше как, например, на форме создания заказа на продажу, при выборе кода клиента, заполняются куча полей, и не важно написали руками или выбрали из лукапа
По-моему, надо просто на modified() анализировать значение (делать лишний select) по выбранному значению. Если значение в таблице находится - значит брать его. Если нет - то ничего не брать.
2RomanK: Вообще, я как-то делал объединенный лукап клиентами и поставщиками, а потом пытался "угадывать" - откуда была выбрана запись. По факту, ни к чему хорошему эта идея ни привела - т.к. было много глюков (в коде выбиралась не та запись) именно из-за ручного доввода или какого-нибудь кеша.
Поэтому, я пришел к выводу - что надежнее (с т.з. прогнозируемости работы системы) смириться с тем, что выбор из лукапа и ручной ввод - суть есть неразделимые события и их невозможно в АХ отделить друг от друга.
__________________
Возможно сделать все. Вопрос времени
Старый 23.03.2012, 01:03   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от RomanK Посмотреть сообщение
Только по лукапу тянуться поля, ручной ввод означает разрыв связи
С чего бы это? Зачем вы пытаетесь искоренить в компании продвинутых пользователей, которые наизусть помнят нужные им 5-10 возможных значений поля и чихать хотели на ваши лукапы?
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
надежнее смириться с тем, что выбор из лукапа и ручной ввод - суть есть неразделимые события и их невозможно в АХ отделить друг от друга.
А зачем вообще их отделять? Какая на фиг разница с точки зрения бизнес-логики, каким образом значение попало в поле? Если нужно подтягивать значения по умолчанию для других полей, то это нужно делать по-любому (и не факт, что тот же табличный modifiedField() окажется самым удобным решением). Потому что завтра пользователям надоест лазить по лукапам, и они захотят качать данные из Экселя - и что же, связанные поля при импорте уже не заполнять, "разрыв связи"?..
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
обязательное для заполнения поле в уже созданной записи vanokh DAX: Программирование 12 27.09.2011 22:09
Одновременно поле и метод данных таблицы в отчете wojzeh DAX: Программирование 2 19.03.2010 17:47
ввод данных через буффер Daido DAX: Программирование 11 27.07.2007 16:42
Ввод исторических данных по ОС (Axapta) nat DAX: Функционал 4 08.11.2005 12:04
Запрет на ввод данных не из lookup'а petr DAX: Программирование 7 09.08.2005 16:30

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

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

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