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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.06.2016, 14:31   #1  
BooGA is offline
BooGA
Участник
 
5 / 10 (1) +
Регистрация: 27.06.2016
Добавление полей
Решил поучить ax и появилась такая задача. Необходимо добавить в форму RDefferlasTrans поле RassetIdService. Подскажите способы и если можно толковую книгу по разработке. Используется ax 2004.
Старый 27.06.2016, 15:29   #2  
Vadis is offline
Vadis
Юзовские
Дети Юза
 
12 / 15 (1) ++
Регистрация: 14.09.2004
Адрес: Gersag
Например эта книга, стр 171. http://book.axforum.info/morphx.pdf
Старый 19.07.2016, 07:09   #3  
BooGA is offline
BooGA
Участник
 
5 / 10 (1) +
Регистрация: 27.06.2016
Все привет. В общем прочитал книженцию, но я появилась уйма вопросов. С тем же добавлением поля. Я сделал дисплэй метод в RDefferalsJournalTrans, но выходит ошибка что долго тянет и посылает меня лесом. Нашел такую штуку как cacheAddMethod, но не могу допереть как, что и куда.
Собсна мне надо чтоб на форме RDeferralsJournalTrans появилось поле RassetIdService.
Решил тянуть дисплэйем из таблицы Purchline. А вот в init в ds формы RDeferralsJournalTrans не робит cacheAddMethod. То синтаксис не правильный (хотя вроде как по мануалу сделано) то еще какие то ошибки. В общем хэлп по возможности.
Display method
display RassetId testdisplay(PurchLine _PurchLine)
{
PurchLine purchLine;

select RassetIdService from purchLine
where purchLine.PurchID == RDeferralsJournalTrans.PurchId;

return purchLine.RassetIdService;
}

cacheAddMethod в init
public void init()
{
super();

this.cacheAddMethod(tableMethodStr(PurchLine, testdisplay);
}
Старый 19.07.2016, 08:45   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
1) На какой таблице вы расположили дисплэй метод? Какую таблицу вы указываете в tableMethodStr?
2) На табличном дисплей-методе не должно быть входных параметров. Он работает в контексте собственного курсора this. Рассматривайте дисплей метод как аналог вычисляемых полей, который на основании уже имеющихся в таблице полей вычисляет (или выбирает из связанных таблиц) дополнительные данные.
3) У вас не хватает круглой закрывающейся скобки ) в последней строке с cacheAddMethod. Опечатка?


Судя по тому что вы уже написали. Метод у вас должен расширять таблицу RDeferralsJournalTrans (т.е. должен находится в списке её методов). И выглядеть примерно так:
X++:
display RassetId testdisplay()
{
    PurchLine purchLine;

    select RassetIdService from purchLine
    where purchLine.PurchID == this.PurchId;

    return purchLine.RassetIdService;
}
тогда в cacheAddMethod нужно передавать
X++:
this.cacheAddMethod(tableMethodStr(RDeferralsJournalTrans, testdisplay));


У вас в закупке может быть больше одной строки? Могут быть в одной закупке строки с разными RassetIdService? Сейчас у вас выбирается произвольная строка в закупке.

Последний раз редактировалось S.Kuskov; 19.07.2016 в 08:59.
Старый 19.07.2016, 09:13   #5  
BooGA is offline
BooGA
Участник
 
5 / 10 (1) +
Регистрация: 27.06.2016
display метод лежит в RDeferralsJournalTrans. Как я понял в tableMethodStr указывается источник для моего поля а это PurchLine.
со скобкой это опечатки при копировании
строк может быть в закупке несколько, но RassetIdService у всех одинаковый

Последний раз редактировалось BooGA; 19.07.2016 в 09:23.
Старый 19.07.2016, 09:40   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от BooGA Посмотреть сообщение
display метод лежит в RDeferralsJournalTrans. Как я понял в tableMethodStr указывается источник для моего поля а это PurchLine.
В tableMethodStr указывается источник не поля, а источник метода. На первом месте имя таблицы, на втором месте имя метода
Старый 19.07.2016, 10:29   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от BooGA Посмотреть сообщение
Решил поучить ax и появилась такая задача. Необходимо добавить в форму RDefferlasTrans поле RassetIdService.
Цитата:
Сообщение от BooGA Посмотреть сообщение
С тем же добавлением поля. Я сделал дисплэй метод в RDefferalsJournalTrans
Чисто методически:
1. не начинайте изучение с журналов. там как правило оооочень плотно используются framework, которые вас окончательно запутают
2. добавление поля и добавление "дисплэй метод" - это совершенно разные задачи. особенно в журнал. прежде всего из-за фреймворков
3. никогда не используйте объекты с префиксом r или суффиксом ru для изучения. с огромной вероятностью там антипаттерны.

Что посоветую:
1. читать книжки
2. добавить поле в обычную и простую форму CustTable
3. разобраться с map'ами и понять как одно и то же по смыслу поле добавить в разные формы CustTable, VendTable
4. добавить "дисплэй метод", понять общее с полем и осознать отличия в Аксапте

после того, как разберетесь с хранением и отображением полей в Аксапте, начните разбираться с журналами и их фреймворками.

повторюсь - ни в коем случае не начинайте с r* объектов.
начните с ежедневного журнала или журнала платежей.

Последний раз редактировалось mazzy; 19.07.2016 в 10:34.
Старый 20.07.2016, 12:28   #8  
BooGA is offline
BooGA
Участник
 
5 / 10 (1) +
Регистрация: 27.06.2016
Всем большое спасибо за советы и помощь.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Добавление полей Миша DAX: Администрирование 5 03.06.2016 14:16
Добавление полей в существующую таблицу - баг или фича ? kair84 DAX: Программирование 8 12.10.2012 12:15
Добавление полей на форму в run-time Ar DAX: Программирование 22 02.03.2012 00:14
Форма smmBusRelTable, добавление полей с таблицы smmActivities. Dima_Dima DAX: Программирование 7 06.05.2009 19:45
Добавление полей в стандартный отчет tolstjak DAX: Программирование 10 06.04.2004 17:50
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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