Dynamics AX: Как я могу открыть документ для просмотра документов, прикрепленный к заявке на закупку, из заказа на закупку?

Изменить: цель состоит в том, чтобы сделать документы с ценами, прикрепленные к заявкам, доступными для персонала, который обрабатывает заказы напрямую и простым способом без необходимости возвращаться к самому документу заявки.

Я хотел бы использовать метод DocuRef::openDocHandling на экране заказа на закупку, не дублируя документ, связанный с заявкой на закупку. Я хотел бы сделать это с помощью кнопки, которую я добавлю на экран заказа на покупку; Я знаю, какой номер заявки связан с заказом на закупку.

Спасибо заранее.


person Johan Bresler    schedule 29.04.2009    source источник


Ответы (2)


В форме PurchTable добавьте источник данных VendPurchOrderJour с (активной) заявкой на покупку. Вам не нужно отображать какие-либо поля источника данных, поэтому вы можете использовать свойство OnlyFetchActive. Затем создайте метод формы «docCursor», чтобы сообщить форме DocuView, какая запись является активной.

public Common docCursor()
{
    return reqDoc ? vendPurchOrderJour : purchTable;
}

Создайте кнопку «щелчком»:

void clicked()
{
    reqDoc = true;
    if (!infolog.docu().isDocuViewSet())
        infolog.docu().note(element);
    else
        infolog.docu().setActive();
}

Очистите «reqDoc» в «активном» методе PurchTable.

Это решение не позволяет использовать документы в строках покупки, возможно, вам придется расширить решение следующим образом (строка - это группа форм):

public Common docCursor()
{
    return reqDoc ? vendPurchOrderJour : 
                    line.contains(element.selectedControl()) ? purchLine :
                    purchTable;
}
person Jan B. Kjeldsen    schedule 04.05.2009
comment
Привет, Ян, у меня возникла следующая проблема: 1. reqDoc не объявлен. 2. Конфликт типов, если я объявляю его как общий или логический тип в объявлении класса, поскольку он конфликтует с выбранным методом, где он установлен как истина. Я еще не настолько опытен - спасибо за вашу помощь. - person Johan Bresler; 04.05.2009
comment
Привет, Ян! Все заработало благодаря вашей помощи: Я добавил следующие изменения: 1. Объявлен reqDoc как логическое в объявлении класса. 2. добавлено объявление: Common docCursor; в метод docCursor. 3. Изменен источник данных с VendPurchOrderJour на PurchReqTable и ссылки на него выше. Теперь он работает отлично - спасибо стеку - person Johan Bresler; 04.05.2009

Если вы хотите, чтобы кнопка открывала представление документа, если не открыта, и активировала, если открыта, то выбранный вами метод должен выглядеть следующим образом:

void clicked()
{
    if (!infolog.docu().isDocuViewSet())
        infolog.docu().note(element);
    else
        infolog.docu().setActive();
}

Ваш вопрос неясен для вашей цели. Что ты хочешь? Пожалуйста, расширьте.

person Jan B. Kjeldsen    schedule 30.04.2009
comment
Спасибо, Ян - я добавил комментарий выше. - person Johan Bresler; 01.05.2009