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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.02.2003, 16:05   #1  
Andronov is offline
Andronov
Участник
 
108 / 10 (1) +
Регистрация: 10.11.2002
Адрес: г. Пермь
Где взять материалы и еще один конкретный вопрос
Добрый день.
Может ли кто-нибудь из опытных товарищей рассказать, как научиться программировать в Аксапте? Имеющаяся документация описывает большей частью то, о чем можно догадаться. Есть ли какие-нибудь более продвинутые материалы? Описана ли где-нибудь общая идеология создания систем с использованием имеющегося инструментария?

И частный вопрос:
Хочу сделать такую штуку: сделать 2 таблицы (MasterTable и DetailTable), у каждой из них ввести искусственный ключ (назовем его ID), добавить в DetailTable поле - внешний ключ с именем MasterID. Показать на форме Grid, где бы отображались данные из DetailTable и то, что привязано к ним из MasterTable посредством MasterID. Естественно, хочется позволить лукапить нужные данные из MasterTable и автоматом обновлять поле MasterID. При этом само поле MasterID не показывать.

Может быть слишком подробно написал, но смысл вроде бы передал.
Короче, хочу чтоб в гриде показывались мастеровые атрибуты с возможностью выбора мастера. Связывать таблицы по естественному ключу (типа "не ID, а номер паспорта") не хотелось бы.
Старый 14.02.2003, 06:10   #2  
Andrew Besedin is offline
Andrew Besedin
Участник
 
121 / 15 (1) ++
Регистрация: 25.01.2002
Удивительно, как ты сам не догадался...
Development Guide / Creating a Database + Creating Forms
Об этом написано ну ОЧЕНЬ подробно
__________________
С уважением,
Андрей Беседин
Старый 14.02.2003, 09:36   #3  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
А вообще стоит посмотреть вот это:
http://www.axforum.info/forums/showt...=&threadid=363
__________________
С уважением, Игорь Ласийчук.
Старый 14.02.2003, 10:37   #4  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано Garic
А вообще стоит посмотреть вот это:...
Только не используйте initValue, как в этом проекте. Для автоматической нумерации гораздо правильнее пользоваться номерными сериями.

А по поводу идеологии... Сразу после того, как прочитаете Developer's Guide, изучайте идеологию по вот этой вещи: http://technet.navision.com/usered/B...s/Dev_BPHB.htm
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 14.02.2003, 12:59   #5  
Andronov is offline
Andronov
Участник
 
108 / 10 (1) +
Регистрация: 10.11.2002
Адрес: г. Пермь
Спасибо за приведенные ссылки. То, что написано в developer's guide про использование свойства JoinSource я читал. Как я понял, для DS детейла нужно установить это св-во в DS мастера. И это свойство может иметь значением только один DataSource. Тогда каким образом я должен сказать, что хочу показать атрибуты для двух мастеров? Как заставить через них лукапить?

Например: система для библиотеки:
Есть таблицы Библиотека (Б), Читатель (Ч), ЧитательскийБилет (ЧБ). Хочу чтоб в списке ЧБ показывалась информация о Б и Ч, и чтоб при создании нового ЧБ можно было выбрать из списка некоторые Б и Ч.
В таблице ЧБ определил поля внешних ключей на ID'ы Ч и Б. По этим полям создал relations. Добавил все таблицы в DataSources формы, создал Grid и накидал на него все интересующие меня поля. ЧТО ДАЛЬШЕ? Как я должен установить свойства JoinSource?
Как заставить выполнить лукап по полям Ч и Б? Почему у меня не показывается ни кнопка лукапа ни пункт меню "перейти к оновной таблице"?

Я прошу прощения, если (а это наверняка так) задаю очень глупые вопросы, но я уже перепробовал довольно много всяких извращений и результата пока нет.
Старый 14.02.2003, 14:06   #6  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Давай по порядку.
Брось пока JoinSource. Это для связанного отображения связанных таблиц на одной форме.

Есть такая вещь - Extended Data Type. С ее помощью лучше связи и устанавливать (вообще, мой совет - используй Relations только в том случае, если по каким-то причинам не можешь организовать связь через EDT). У каждого поля в таблице есть такое свойство - Extended Data Type. В случае, если ты будешь использовать это свойство, поле сможет принимать значения только указанного типа. Далее, на тип можно наложить ограничение (или связь). В AOT у EDT есть ветка Relations. Там ты можешь связать тип с каким-то полем какой-то таблицы. После установки связи будет считаться, что множество значений типа - множество значений этого поля в записях указанной таблицы.

В твоем случае:
Readers
  • ReaderId (тип ReaderId)
  • ReaderName
  • ...
Libraries
  • LibraryId (тип LibraryId)
  • LibraryName
  • ...
ReaderCards
  • ReaderId (тип ReaderId)
  • LibraryId (тип LibraryId)
  • ...
На типы надо указать следующие relation:
  • ReaderId = Readers.ReaderId
  • LibraryId = Libraries.LibraryId
Удачи.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 19.02.2003, 10:48   #7  
Andronov is offline
Andronov
Участник
 
108 / 10 (1) +
Регистрация: 10.11.2002
Адрес: г. Пермь
Максим, спасибо за совет, но некоторые вопросы остались:

1. Можно ли лукапить не по тому полю, через которое таблицы связаны (в идеале, вообще его не показывать)

2. Как сделать, чтоб в гриде отображались поля выбранного мастера.
Сейчас я делаю так: в DataSources формы добавил 2 таблицы (скажем, Libraries и ReaderCards). Свойство DataSource грида установил в ReaderCards. На грид перетащил нужные поля из обоих DataSource'ов. Возникает ощущение, что поля, соответствующие таблице Libraries, живут в этом гриде своей собственной жизнью и никак не связаны с тем, что я выбрал при лукапе.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Помогите пожста!!! где реализована функция дисциплинарного взыскания в Расчетах с персоналом? Kae DAX: Функционал 4 27.08.2008 13:37
DeadLock. Один сеанс - несколько процессов. Владимир Максимов DAX: Программирование 20 12.07.2008 11:02
Вопрос по перегрузке лукапа поля прям на таблице HorrR DAX: Программирование 3 03.06.2008 18:02
Где прячется valueStr? miklenew DAX: Программирование 5 27.12.2007 15:43
расчеты с персоналом. НДФЛ. вопрос чайника shumelka DAX: Функционал 2 25.03.2004 11:36

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

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

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