Динамика АХ:Как я могу открыть документ docuview, прикрепленный к заявке на закупку из заказа на поставку?
-
03-07-2019 - |
Вопрос
Редактировать:Цель состоит в том, чтобы подготовить документы с ценами, которые были прикреплены к Закупке. Реквизиты доступен персоналу, который обрабатывает Покупку Заказы напрямую и простым способом без необходимости возвращаться к самому документу заявки.
Я хотел бы использовать DocuRef::openDocHandling
метод на экране «Заказ на закупку» без дублирования документа, связанного с заявкой на закупку.Я хотел бы сделать это с помощью кнопки, которую я добавлю на экран заказа на покупку;Я знаю номер заявки, связанный с заказом на поставку.
Спасибо заранее.
Решение
В форме PurchTable добавьте источник данных VendPurchOrderJour с (активной) заявкой на покупку.Вам не обязательно отображать какие-либо поля источника данных, поэтому вы можете использовать свойство OnlyFetchActive.Затем создайте метод формы «docCursor», чтобы сообщить форме DocuView, какая запись является активной.
public Common docCursor()
{
return reqDoc ? vendPurchOrderJour : purchTable;
}
Создайте кнопку с помощью метода «clicked»:
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;
}
Другие советы
Если вы хотите, чтобы кнопка открывала вид документа, если он не открыт, и активировала, если он открыт, тогда метод нажатия должен выглядеть следующим образом:
void clicked()
{
if (!infolog.docu().isDocuViewSet())
infolog.docu().note(element);
else
infolog.docu().setActive();
}
В вашем вопросе неясна ваша цель.Что ты хочешь?Пожалуйста, расширьте.