Показать сообщение отдельно
Старый 16.01.2012, 14:39   #2  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Если говорить про заказы :
Класс, который формирует счет на оплату : SalesFormLetter_Invoice4Paym_RU. В методе writeJournal() заполняется шапка, в методе writeJournalLine() - строки. Сформированные счета на оплату хранятся в 2-х таблицах : CustInvoice4PaymJour_RU,CustInvoice4PaymTrans_RU (соответственно шапка и строки).
В закупках аналогично. Т.е. в метод writeJournal() надо прописать код.
Общий класс, который отвечает за вывод отчета : SalesPurchReport_Invoice4Paym_RU. В методе
X++:
protected void prepareReportHeader()
{
    super();

    select firstonly costAllocationHistory
        where costAllocationHistory.CustVendInvoice4PaymJourRecId == invoiceJour.RecId;

    header.CustName        = invoiceJour.DeliveryName_RU;
    header.CustBankAddress = invoiceJour.DeliveryAddresss_RU;

    header.DueDate         = invoiceJour.FixedDueDate ?
                             invoiceJour.FixedDueDate :
                             PaymTerm::find(invoiceJour.Payment).due(invoiceJour.InvoiceDate);

    [ header.AcceptorName,
      header.AcceptorTitle ] = OfficialsTrans_RU::getNameTitleByIdPosition(invoiceJour.OffSessionId_RU, OffPosition_RU::Responsible);
    [ header.TakerName,
      header.TakerTitle ]    = OfficialsTrans_RU::getNameTitleByIdPosition(invoiceJour.OffSessionId_RU, OffPosition_RU::Filler);

    header.Notes            = CustInvoice4PaymJour_RU::findRecId(invoiceJour.RecId).Notes;

    if (mappingExists_RU(tablenum(CustVendInvoiceJour),
                         invoiceJour.TableId,
                         fieldnum(CustVendInvoiceJour, rContractCode)))
    {
        header.rContractAccount = invoiceJour.rContractAccount;
        header.rContractCode    = invoiceJour.rContractCode;
        header.rContractDate    = RContractTable::find(RContractPartnerType::Cust,invoiceJour.rContractCode,invoiceJour.rContractAccount).ContractDate;
        header.rContractNumber  = RContractTable::find(RContractPartnerType::Cust,invoiceJour.rContractCode,invoiceJour.rContractAccount).rContractNumber;
    }
}
идет заполнение header - это и есть временная таблица TmpSalesPurchReportTable_RU.
Обратите внимание, что invoiceJour - это Map : CustVendInvoiceJour., который передается в методе main() класса SalesReport_Invoice4Paym_RU. В мар-е поле ConsigneeAccount_RU уже есть.
И в этом методе тоже прописать добавление вашего поля или в таблице TmpSalesPurchReportTable_RU в метод initFromInvoiceJour().
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 16.01.2012 в 15:30. Причина: в мар-е поле ConsigneeAccount_RU уже есть
За это сообщение автора поблагодарили: AX3 (1).