Сделал так:
PHP код:
FactureJourCreateCust_RU jourCreate;
FactureEditLinesEngine_RU engine;
OffSessionID_RU offSessionId;
OfficialsServ_RU offServ;
CustInvoiceJour custInvoiceJour;
select firstonly custInvoiceJour
where custInvoiceJour.SalesId == this.salesTable().SalesId;
if (OfficialsServ_RU::isFeatureEnabled())
{
offServ = new OfficialsServ_RU();
offServ.initTableFacture(FactureModule_RU::Cust,
custInvoiceJour.InvoiceAccount,
true,
CustInvoiceJour.creditNote());
offSessionId = offServ.newId();
}
jourCreate = new FactureJourCreateCust_RU();
engine = new FactureEditLinesEngineCust_RU(jourCreate);
jourCreate.setUnpack(false);
jourCreate.parmRecalcTaxes(NoYes::No);
jourCreate.parmShowProgress(NoYes::No);
jourCreate.parmInBatch(true);
engine.insertJour(custInvoiceJour);
jourCreate.initParameters(NoYes::Yes,
NoYes::No,
PrintOut::After,
FacturePrintType_RU::Original,
custInvoiceJour.PrintStandardCurrency_RU,
'',
custInvoiceJour.InvoiceDate,
custInvoiceJour.InvoiceAccount,
custInvoiceJour.CurrencyCode,
FactureType_RU::Invoice,
engine.consignee(),
engine.consignor(),
offSessionId);
jourCreate.run();
jourCreate = null;
engine = null;
Работает. Спасибо Георгию и Мише Андрееву.
Жаль, что SalesFormLetter не заработал