Dynamics AX: Как открыть документ documentview, прикрепленный к заявке на покупку из заказа на поставку? - PullRequest
1 голос
/ 29 апреля 2009

Редактировать: Цель состоит в том, чтобы сделать документы с предложениями, которые были прикреплены к Покупке Заявки , доступными для персонала, который обрабатывает Покупку Заказы напрямую и без необходимости переходить обратно к самому документу заявки.

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

Большое спасибо заранее.

Ответы [ 2 ]

3 голосов
/ 04 мая 2009

В форме PurchaseTable добавьте источник данных 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» в «активном» методе PurchaseTable.

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

public Common docCursor()
{
    return reqDoc ? vendPurchOrderJour : 
                    line.contains(element.selectedControl()) ? purchLine :
                    purchTable;
}
1 голос
/ 30 апреля 2009

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

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

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

...