13.02.2003, 16:05 | #1 |
Участник
|
Где взять материалы и еще один конкретный вопрос
Добрый день.
Может ли кто-нибудь из опытных товарищей рассказать, как научиться программировать в Аксапте? Имеющаяся документация описывает большей частью то, о чем можно догадаться. Есть ли какие-нибудь более продвинутые материалы? Описана ли где-нибудь общая идеология создания систем с использованием имеющегося инструментария? И частный вопрос: Хочу сделать такую штуку: сделать 2 таблицы (MasterTable и DetailTable), у каждой из них ввести искусственный ключ (назовем его ID), добавить в DetailTable поле - внешний ключ с именем MasterID. Показать на форме Grid, где бы отображались данные из DetailTable и то, что привязано к ним из MasterTable посредством MasterID. Естественно, хочется позволить лукапить нужные данные из MasterTable и автоматом обновлять поле MasterID. При этом само поле MasterID не показывать. Может быть слишком подробно написал, но смысл вроде бы передал. Короче, хочу чтоб в гриде показывались мастеровые атрибуты с возможностью выбора мастера. Связывать таблицы по естественному ключу (типа "не ID, а номер паспорта") не хотелось бы. |
|
14.02.2003, 06:10 | #2 |
Участник
|
Удивительно, как ты сам не догадался...
Development Guide / Creating a Database + Creating Forms Об этом написано ну ОЧЕНЬ подробно
__________________
С уважением, Андрей Беседин |
|
14.02.2003, 09:36 | #3 |
NavAx
|
А вообще стоит посмотреть вот это:
http://www.axforum.info/forums/showt...=&threadid=363
__________________
С уважением, Игорь Ласийчук. |
|
14.02.2003, 10:37 | #4 |
Administrator
|
Цитата:
Изначально опубликовано Garic
А вообще стоит посмотреть вот это:... А по поводу идеологии... Сразу после того, как прочитаете 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 |
Участник
|
Спасибо за приведенные ссылки. То, что написано в developer's guide про использование свойства JoinSource я читал. Как я понял, для DS детейла нужно установить это св-во в DS мастера. И это свойство может иметь значением только один DataSource. Тогда каким образом я должен сказать, что хочу показать атрибуты для двух мастеров? Как заставить через них лукапить?
Например: система для библиотеки: Есть таблицы Библиотека (Б), Читатель (Ч), ЧитательскийБилет (ЧБ). Хочу чтоб в списке ЧБ показывалась информация о Б и Ч, и чтоб при создании нового ЧБ можно было выбрать из списка некоторые Б и Ч. В таблице ЧБ определил поля внешних ключей на ID'ы Ч и Б. По этим полям создал relations. Добавил все таблицы в DataSources формы, создал Grid и накидал на него все интересующие меня поля. ЧТО ДАЛЬШЕ? Как я должен установить свойства JoinSource? Как заставить выполнить лукап по полям Ч и Б? Почему у меня не показывается ни кнопка лукапа ни пункт меню "перейти к оновной таблице"? Я прошу прощения, если (а это наверняка так) задаю очень глупые вопросы, но я уже перепробовал довольно много всяких извращений и результата пока нет. |
|
14.02.2003, 14:06 | #6 |
Administrator
|
Давай по порядку.
Брось пока JoinSource. Это для связанного отображения связанных таблиц на одной форме. Есть такая вещь - Extended Data Type. С ее помощью лучше связи и устанавливать (вообще, мой совет - используй Relations только в том случае, если по каким-то причинам не можешь организовать связь через EDT). У каждого поля в таблице есть такое свойство - Extended Data Type. В случае, если ты будешь использовать это свойство, поле сможет принимать значения только указанного типа. Далее, на тип можно наложить ограничение (или связь). В AOT у EDT есть ветка Relations. Там ты можешь связать тип с каким-то полем какой-то таблицы. После установки связи будет считаться, что множество значений типа - множество значений этого поля в записях указанной таблицы. В твоем случае: Readers
__________________
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 |
Участник
|
Максим, спасибо за совет, но некоторые вопросы остались:
1. Можно ли лукапить не по тому полю, через которое таблицы связаны (в идеале, вообще его не показывать) 2. Как сделать, чтоб в гриде отображались поля выбранного мастера. Сейчас я делаю так: в DataSources формы добавил 2 таблицы (скажем, Libraries и ReaderCards). Свойство DataSource грида установил в ReaderCards. На грид перетащил нужные поля из обоих DataSource'ов. Возникает ощущение, что поля, соответствующие таблице Libraries, живут в этом гриде своей собственной жизнью и никак не связаны с тем, что я выбрал при лукапе. |
|