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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.12.2007, 15:29   #1  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Lookup в другую компанию
Привет.
При попытке сделать лукап на справочник в другую компанию с помощью связей на таблице столкнулся с забавным поведением Аксы. Если поле не заполнено, лукап прекрасно отрабатывает по связям. Но если в поле уже есть значение, открывается лукап, в котором присутствуют значения из текущей компании и значения из другой компании.
Кто-нить может что-нить сказать по этому поводу?

PS AX3SP6

Последний раз редактировалось CDR; 17.12.2007 в 15:37.
Старый 17.12.2007, 16:18   #2  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Цитата:
Сообщение от CDR Посмотреть сообщение
лукап на справочник в другую компанию с помощью связей на таблице
Это, простите, как?
Старый 17.12.2007, 16:29   #3  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Цитата:
Сообщение от Yprit Посмотреть сообщение
Это, простите, как?
Ну, например, так:
  • Создаем простую табличку с двумя полями
  • Первое поле Company на EDT dataAreaId
  • Второе поле nterCompanyEmpl на основе EDT EmplId
  • На табличке прописываем нормальную связь к таблице EmplTable по полям Company -> dataAreaId и InterCompanyEmpl -> EmplId
Старый 17.12.2007, 17:11   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
А может можно сделать saveDataPerCompany = No для этой таблицы?
Старый 17.12.2007, 17:37   #5  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Цитата:
Сообщение от belugin Посмотреть сообщение
А может можно сделать saveDataPerCompany = No для этой таблицы?
Вообщем-то, ни для новой таблички, ни для EmplTable этого сделать нельзя. Потому как данные как-раз таки должны хранится отдельно по компаниям.

Чудеса какие-то... Не иначе, как понедельник виноват. Видимо придется завтра с утра на свежую голову разбирацо
Старый 17.12.2007, 18:07   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Я делал такой лукап - все нормально работало - вне зависимости от того, есть значение в поле или нет. На более раннем СП
Поэтому ищите ошибку у себя.

Вы перекрываете лукап? или как?
Старый 17.12.2007, 18:08   #7  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
2 CDR:
Перечитал только что ваши сообщения - я по-другому делал:

Перекрывал лукап, и делал changeCompany('ljl') { super() }
Старый 17.12.2007, 19:11   #8  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
kashperuk-у лишь бы покодить...

Вообще стандартные связи работают. Можно посмотреть в журнале ГК пример.

Есть гипотеза, что у вас поле в таблице, с которым вы мучаетесь, на базе расширенного типа создано, для которого прописаны связи. Обычно в таких случаях бывают проблемы. Проверьте.

Для чистоты связей нужно использовать в поле таблицы расширенный тип без связей, а связь настраивать на таблице. Посмотрите в тех же журналах ГК. Там компания на базе расширенного типа (связь работает всегда даже при незаполненных других полях), а сам счет, договора и проч. ерунда — на базе расширенного типа без связей и связь прописана на таблице (в результате поля работают только в связке с другими). Это не спроста так сделано.
__________________
С уважением,
glibs®
Старый 17.12.2007, 20:23   #9  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от glibs Посмотреть сообщение
kashperuk-у лишь бы покодить...
Хе-хе. Хто на шо вчився, как говорится.
Старый 17.12.2007, 20:55   #10  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
.

(I regret)
__________________
С уважением,
glibs®
Старый 18.12.2007, 05:04   #11  
Yulie is offline
Yulie
Участник
 
13 / 10 (1) +
Регистрация: 18.12.2007
Адрес: Россия, Красноярск
Я тоже использовала changeCompany() все работает!
Старый 18.12.2007, 11:23   #12  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Цитата:
Сообщение от glibs Посмотреть сообщение
Вообще стандартные связи работают. Можно посмотреть в журнале ГК пример.
Я дико извиняюсь за свою серость, но хотел бы уточнить 2 момента:
1. В качестве примера, насколько я понял, приведен лукап счета в строках журнала ГК. Однако на первый взгляд все лукап-методы на форме строк журнала ГК реализованы программно на соответствующих таблицах. И в этих методах недвусмысленно присутствует конструкция setDefaultCompany() Я чего-то не вижу?

2. До настоящего момента я был твердо уверен, что отображение информации и доступ к ней в Аксапте возможен только в рамках текущей компании. Способов изменить это поведение я знаю 3: saveDataPerCompany на таблице, setDefaultCompany() и changeCompany() в коде. Во всех мануалах по Х++ и Аксе (в частности, Inside Dynamics AX 4.0) это декларируется. Я сейчас, конечно, поэкспериментирую, но Ваше заявление, glibs, как обухом по голове, честное слово :-) Вековые устои руаштся.....
Старый 18.12.2007, 12:23   #13  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Работает.... Обалдеть можно...
Старый 18.12.2007, 12:43   #14  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Ну вы, пиплы, даете.

Слов нету.

Осталось еще только на стандартные лукапы забить и писать везде свои.

Обратите внимание, что Кашперукский метод работает только в форме, а стандартные relations работают даже в обозревателе таблицы.
__________________
С уважением,
glibs®
За это сообщение автора поблагодарили: Yprit (1).
Старый 18.12.2007, 12:55   #15  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Цитата:
Сообщение от glibs Посмотреть сообщение
Ну вы, пиплы, даете.

Слов нету.

Осталось еще только на стандартные лукапы забить и писать везде свои.
Съел свои ботинки, принялся за шляпу, злобно позыркивая в сторону вендора
Старый 18.12.2007, 17:58   #16  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Yprit
...
Способов изменить это поведение я знаю 3: saveDataPerCompany на таблице
...
Тогда уж и виртуальные компании внесите в свой список.
__________________
С уважением,
glibs®
Старый 19.12.2007, 09:05   #17  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Цитата:
Сообщение от glibs Посмотреть сообщение
Тогда уж и виртуальные компании внесите в свой список.
Я имел в виду "программистские" способы. :-) И все равно, Карфаген должен быть разрушен, т.е. такое поведение системы мне логичным не представляется.
Старый 19.12.2007, 10:54   #18  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Странно... С помощью связей на таблице так и не удалось добиться стабильной работы лукапа в другую компанию.
Если в поле пусто - лукап отрабатывает на ура. Если в поле уже указано значение, почему-то открывается лукап в текущую компанию + одно значение из нужной компании, которое уже указано в поле.

Пришлось сделать в лукапе changeCompany() перед super().
Старый 19.12.2007, 10:57   #19  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Цитата:
Сообщение от CDR Посмотреть сообщение
С помощью связей на таблице так и не удалось добиться стабильной работы лукапа в другую компанию.
Может, сама лукапная форма, на EmplId определенная, гадит?
Старый 19.12.2007, 11:01   #20  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Цитата:
Сообщение от Yprit Посмотреть сообщение
Может, сама лукапная форма, на EmplId определенная, гадит?
Вместо EmplId используется HRMVirtualNetworkReference.
Теги
lookup, relation, компания

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблемы при передаче ОС в другую компанию LGray DAX: Функционал 7 21.05.2008 10:04
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Как переместить данные в другую компанию? dzeaman DAX: Программирование 5 13.01.2006 20:34
Переход в другую компанию в программном коде Anton Sk. DAX: База знаний и проекты 5 02.08.2002 14:18
Как в коде Axapta перейти в другую Компанию? Anton Sk. DAX: Программирование 2 05.07.2002 19:09

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

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

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