Сформировать файл из накладной программно - не сложно.
Какая у вас версия Аксапта ?
Например, для 3-й версии будет работать так (пример)
X++:
static void Job1(Args _args)
{
custInvoiceJour custInvoiceJour;
PrintJobSettings printJobSettings = new PrintJobSettings();
SalesReport_Invoice_RU SalesReport_Invoice_RU = new SalesReport_Invoice_RU();
;
custInvoiceJour = custInvoiceJour::findRecId(449627);
printJobSettings.setTarget(PrintMedium::File);
printJobSettings.format(PrintFormat::RTF);
printJobSettings.fileName("c:\\invoice.rtf");
SalesReport_Invoice_RU.setParameters(PrintCopyOriginal::Original, custInvoiceJour);
if (SalesReport_Invoice_RU.prompt())
{
SalesReport_Invoice_RU.printJobSettings().unpackPrintJobSettings(printJobSettings.packPrintJobSettings());
SalesReport_Invoice_RU.run();
}
}
А дальше возможны варианты.
Можно отправлять этот файл через почтовый клиент Аксапты (SysMailer), (с сервера пакетной обработки например).
Можно отправить с клиента, открыв оператору его почтовый клиент с вложенным файлом, подготовленным на предыдущем этапе. (ну и конечно, заполненным адресом получателем, темой и текстом сообщения).
Оператору остается лишь нажать кнопку "отправить"
Тут все зависит от типа почтового клиента, который используется в вашей комании
(thebat, Outlook, OutlookExpress и так далее)
Например этот код отправляет письмо открывая почтовый клиент пользователя по умолчанию:
X++:
boolean sendMAPI(str _to, str _cc, str _subj, str _text, FileName _attachFileName = "")
{
#Mapi
Mapi mapi = new Mapi();
MapiMessage msg = new MapiMessage();
MapiRecipDesc recip = new MapiRecipDesc();
MapiFileDesc file = new MapiFileDesc();
;
recip.Name(_to);
recip.RecipClass(#MAPI_TO);
msg.setRecipNo(1, recip);
if (_cc)
{
recip.Name(_cc);
recip.RecipClass(#MAPI_CC);
msg.setRecipNo(2, recip);
}
msg.subject(_subj);
msg.text(_text);
if (_attachFileName)
{
file.fileName(_attachFileName);
msg.setFileNo(1, file);
}
mapi.Logon("", "", #MAPI_USE_DEFAULT);
mapi.SendMail(msg, #MAPI_DIALOG);
mapi.Logoff();
return true;
}
Но надежнее использовать com интерфейс почтовой программы.
Если интересно - могу привести код отправки письма с вложением через COM интерфейс Outlook