17.06.2008, 13:42 | #1 |
Участник
|
Сразу скажу что я начинающий аксаптер:-) Задача стоит в том чтобы в форму Заказ на продажу (расширенный вид) добавить в заголовок колонку Грузополучатель(наименование). Пробовал применять стандартный конфигуратор через меню "Настройка" но там только код выводится SalesTable.ConsigneeAccount_RU. Делаю в AOT в форме SalesTable в GridHeader поле типа StringEdit:NameGruzoPol DataField: Name. Создал DataSource CustTable_Gruzopol (таблица CustTable). И выбираю в поле этот DataSource. Теперь я так понимаю нужно где то вставить запрос
select Name from custtable where SalesTable.CONSIGNEEACCOUNT_RU == CustTable.ACCOUNTNUM; И вот я не знаю что сделать дальше. Подскажите пож-а что делать дальше? |
|
17.06.2008, 14:14 | #2 |
Участник
|
Рекомендация: сначала лучше произнести задачу на простом человеческом языке. Если честно, то непонятно зачем вы так извращаетесь в коде. То ли задача такая, то ли просто не знаете как подступиться (это нормально, мы все так начинали). Поэтому лучше сначала просто скажите что хотите получить в конечном итоге.
Цитата:
Если вы хотите просто поле поставить, то никакие дополнительные датасорсы не нужны. Если просто поле, то оно уже есть: Заказы на продажу \ Закладка Поставка \ Поле Грузополучатель. Цитата:
Сначала загляните сюда http://axapta.mazzy.ru/lib/steps/step07_2.html и в руководство разработчика по темам - Tables, Forms а также http://axapta.mazzy.ru/lib/gettingstarted/ |
|
17.06.2008, 16:27 | #3 |
Участник
|
Версия DAX 4.0 SP2. Задача стоит в том чтобы во вкладке Обзор вывести колонку Наименование грузополучателя. То что во вкладке Поставка это раскрывающийся список из которого мы выбираем из справочника клиентов и там отображается только код клиента. Я загрузил скрин формы как мы хотим.
|
|
17.06.2008, 22:10 | #4 |
Участник
|
Цитата:
Сообщение от MaxBor
Версия DAX 4.0 SP2. Задача стоит в том чтобы во вкладке Обзор вывести колонку Наименование грузополучателя. То что во вкладке Поставка это раскрывающийся список из которого мы выбираем из справочника клиентов и там отображается только код клиента. Я загрузил скрин формы как мы хотим.
1. Добавьте таблицу с грузополучателями в список датасорсов 2. в свойствах подчините ее главной таблице SalesTable 3. Измените тип связи на innerjoin 4. перенесите мышкой поле с наименованием из таблицы грузополучатеелй на какую-нибудь вкладку примерно так http://axapta.mazzy.ru/lib/steps/step07_2.html НО! Прежде чем так делать почитайте существующие темы. Обратите внимание на вопросы производительности http://axforum.info/forums/showthread.php?t=19252 http://axforum.info/forums/showthread.php?t=11056 http://axforum.info/forums/showthread.php?t=6770 http://axforum.info/forums/showthread.php?t=1783 http://axforum.info/forums/showthread.php?t=922 |
|
18.06.2008, 16:57 | #5 |
Участник
|
Спасибо за ссылки. Я пробовал делать без кода, так не получается. В колонке в этом случае выводится имя получателя, а не грузополучателя (т.к. ссылки разные: для получателя это CustAccount а для грузополучателя ConsigneeAccount_RU).
Из прочитанного материала по ссылкам понял что применяют в этом случае display-методы. Я написал код: display CustName showConsignee() { CustTable custTable; ; select firstfast firstonly Name from custTable where custTable.AccountNum == this.ConsigneeAccount_RU; return custTable.Name; } и разместил его в методах таблицы SalesTable. Как теперь его использовать? |
|
19.06.2008, 08:29 | #6 |
Участник
|
Все получилось. Оказалось все просто! Перетащил мышкой свой метод в Grid. Указал в полученном таким образом StringEdit DataSource: SalesTable. И все заработало. Спасибо за ссылки, очень помогли.
|
|