У меня следующая задача: выполнить какое-то событие с некоторым интервалом. В руководстве к T200 я обнаружил, что это можно сделать через страницы обработки. Для этого мне нужно добавить граф с суффиксом процесса. Но что меня озадачивает, так это как сделать так, чтобы появлялись кнопки «Обработать», «Обработать все», «Расписания»? Другой вопрос, который у меня есть, - как выполнить какое-то действие по какому-то расписанию в Acumatica? Какой рекомендуемый подход?
Запланируйте какое-нибудь задание в Acumatica
Ответы (1)
Ключевым моментом, который отличает графики обработки от других типов страниц в Acumatica, является то, что они имеют представление данных типа PXProcessing<>
или PXProcessingJoin<>
- они вместе с процедурой обработки, определенной на графике, заставят систему создать Process < / em>, Обработать все и Расписание на соответствующем экране. Обычно ваш график будет выглядеть так:
public class YourProcessingGraph : PXGraph<YourProcessingGraph>
{
//Data view that provides a list of items to process
public PXProcessing<ARInvoice,
Where<ARInvoice.released, Equal<boolFalse>>> DocumentsToProcess;
public YourProcessingGraph()
{
DocumentsToProcess.SetProcessDelegate(DoActualProcessing);
//You can also change button captions
DocumentsToProcess.SetProcessCaption("Do");
DocumentsToProcess.SetProcessAllCaption("Do For All");
}
public static void DoActualProcessing(List<ARInvoice> itemsToProcess)
{
// Do something cool here
}
}
Вы можете найти лучший пример того, как правильно определить график обработки, в упомянутом вами тренинге T200, а также в исходном коде Acumatica - например, ARDocumentRelease
график.
Acumatica не полагается на имена определяемых вами классов (будь то DAC или графики) при определении того, что есть что, поэтому суффикс Process (а также Entry и Maint) - это просто вопрос стиля / соглашения. (Одним из важных исключений являются объекты настройки с префиксом / суффиксом Cst
, но это немного другая история.)
Что касается периодического выполнения некоторых действий, для этого вы используете Расписания автоматизации (SM205020) - это экран, который открывается при нажатии кнопки Расписание на любом экране обработки. Там вы можете создать расписание, которое запускает обработку на определенном экране обработки. Расписания можно точно настроить в соответствии с вашими целями с точки зрения частоты выполнения и даже предусмотреть некоторую дополнительную фильтрацию.