У меня есть процесс, который я пытаюсь запланировать. Когда расписание запускается, я получаю следующую ошибку:
Message: Error #199: You are not currently logged in.
Date/Time: 09/06/2015 10:20
Platform:
Browser:
Source: PX.Data
Target Site: Int32 GetCurrentCompany()
Stack Trace: at PX.Data.PXDatabaseProviderBase.GetCurrentCompany()
at PX.Data.PXDatabaseProviderBase.getCompanyID(String tableName, companySetting& setting)
at PX.Data.PXDatabaseProviderBase.getRestriction(String table, String alias, Boolean mainRestriction, Boolean isRightJoin, Nullable`1 effectiveCid)
at PX.Data.PXDatabaseProviderBase.alterText(String text, Int32 start, Int32 stop, Boolean isTopLevelQuery)
at PX.Data.PXDatabaseProviderBase.alterText(String text, Int32 start, Int32 stop, Boolean isTopLevelQuery)
at PX.Data.PXDatabaseProviderBase.Select(PXGraph graph, BqlCommand command, Int32 topCount, PXView view, PXDataValue[] pars)
at PX.Data.PXGraph.ProviderSelect(BqlCommand command, Int32 topCount, PXView view, PXDataValue[] pars)
at PX.Data.PXView.GetResult(Object[] parameters, PXFilterRow[] filters, Boolean reverseOrder, Int32 topCount, PXSearchColumn[] sorts, Boolean& overrideSort, Boolean& extFilter)
at PX.Data.PXView.Select(Object[] currents, Object[] parameters, Object[] searches, String[] sortcolumns, Boolean[] descendings, PXFilterRow[] filters, Int32& startRow, Int32 maximumRows, Int32& totalRows)
at PX.Data.PXSelectBase`1.selectBound[Resultset](BqlCommand command, Boolean readOnly, PXGraph graph, Int32 startRow, Int32 totalRows, Object[] currents, Object[] pars)
at PX.Data.PXSelectBase`1.select[Resultset](BqlCommand command, Boolean readOnly, PXGraph graph, Int32 startRow, Int32 totalRows, Object[] pars)
at PX.Data.PXSelectReadonly`2.SelectWindowed[Resultset](PXGraph graph, Int32 startRow, Int32 totalRows, Object[] pars)
at PX.Data.PXSelectReadonly`2.Select[Resultset](PXGraph graph, Object[] pars)
at Exosoft.MP.MikePero.Graphs.RexApiMaint.GetCustomerByCD(String id)
Процесс работает нормально, когда я запускаю его через экран процесса, но не по автоматическому расписанию.
Ошибка происходит, когда я вызываю ниже ...
PXSelectReadonly<PX.Objects.AR.Customer, Where<PX.Objects.AR.Customer.acctCD, Equal<Required<PX.Objects.AR.Customer.acctCD>>>>.Select(this, id);
Граф и граф, который он вызывает для обработки, настраиваются на основе созданной мной настраиваемой таблицы. Я добавил CompanyID и другие поля аудита в настраиваемую таблицу. Так я это называю
public class SyncRexApiProcess : PXGraph<SyncRexApiProcess>
{
public PXCancel<RexApiLogin> Cancel;
public PXProcessing<RexApiLogin> RexApiLogins;
public SyncRexApiProcess()
{
RexApiLogins.SetProcessCaption("Sync From Rex Api Login");
RexApiLogins.SetProcessAllCaption("Sync From All Rex Api Logins");
RexApiLogins.SetProcessDelegate<RexApiMaint>(
delegate(RexApiMaint graph, RexApiLogin login)
{
graph.Clear();
Func<Task> task = async () =>
{
await graph.SyncAPIDataAsync(login);
};
task().Wait();
});
}
}