Показать сообщение отдельно
Старый 10.08.2004, 06:54   #1  
malex is offline
malex
Участник
 
164 / 19 (1) ++
Регистрация: 10.08.2004
Адрес: Тверь, Москва
Как программно сформировать счет-фактуру по накладной.
Доброе утро.

Такая вот задача. Причем нюанс состоит в том, что номер счета-фактуры должен быть ручной, а не из номерной серии. По умолчанию номера счетов-фактур берутся из номерной серии (для главной бухгалтерии), но есть счета-фактуры поступающие из другого отдела (формируются и распечатываются в другой системе, в Axapta нужны только для формирования книги продаж). У них естественно есть свой номер, который и хочется видеть в книге продаж.

Ниже приведена реализация без ручных номеров. Все ли здесь нормально? И самое главное - как сформировать счет-фактуру с ручным номером?

PHP код:
static void Test3(Args _args)
{
   
CustInvoiceTrans custInvoiceTrans;
   
FactureJourCreate_RU factureCreate;
   
OfficialsServ_RU offServ;
   
OffSessionId_RU offSess;
 ;
   
custInvoiceTrans custInvoiceTrans::findInvoice('59'05\08\2004);   //Выбираем нужную накладную для обработки

   
factureCreate factureJourCreate_RU::construct(FactureModule_RU::Cust);
   
factureCreate.appendTrans([custInvoiceTrans.TableIdcustInvoiceTrans.RecId], 1); //связывает класс с накладной

if (OfficialsServ_RU::isFeatureEnabled()) // должностные лица по умолчанию
   
{
       
offServ      = new OfficialsServ_RU();
       
offServ.initTableFacture(FactureModule_RU::Cust,
                                
'Сок');
       
offSess offServ.newId();
   }

   
factureCreate.initParameters(NoYes::Yes,
                                    
NoYes::No,
                                    
PrintOut::After,
                                    
FacturePrintType_RU::Original,
                                    
NoYes::No,
                                    
''
                                    
Today(),
                                    
'Сок',
                                    
'рур',
                                    
FactureType_RU::Invoice,
                                    
'',
                                    
'',
                                    
offSess,
                                    
'',
                                    
'',
                                    
Today(), //???
                                    
'',
                                    
Today());
   
factureCreate.run();


PS: Axapta 3.0 SP1