AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.09.2015, 16:50   #1  
Art_Tanis is offline
Art_Tanis
Участник
 
225 / 36 (2) +++
Регистрация: 04.02.2014
Вот код который поможет найти не попавшие фактуры в обработку:
X++:
static void _HTC_VAT_Analyze_ObrabotkaNDS(Args _args)
{
    Dialog                              dialog = new Dialog();
    DialogField                         dlgDateStart;
    DialogField                         dlgDateEnd;
    
    Query                               query = new Query();
    QueryBuildDataSource                qbds;
    QueryRun                            qr;

    TransDate                           startDate, endDate;
    FactureJour_RU                      factureJour;

    COM rstAxa;    
    COM flds, fld; 
    COM xlApp;           
    COM wbks, wbk;      
    COM wkss, wks;        
    COM rng, cell, rngCR; 
    COM font;             
    COM entCol;          
    COM actWin;          
    int i, iMax;


    int adoTypeToExcel(str _type)
    {
        switch (_type)
        {
            case 'num' : return   5; // adDouble
            case 'str' : return   8; // adBSTR
            case 'date': return 133; // adDBDate
        }
        return 8;
    }


    ;
    dlgDateStart = dialog.addField(typeid(TransDate),'StartDate');
    dlgDateEnd  = dialog.addField(typeid(TransDate),'EndDate');

    dialog.run();
    
    startDate = dlgDateStart.value();
    endDate = dlgDateEnd.value();
    
    rstAxa = new COM('ADODB.Recordset');
    flds = rstAxa.Fields();
    flds.Append("FactureDate"         , adoTypeToExcel('date'));
    flds.Append("FactureExternalId"         , adoTypeToExcel('str'));
    flds.Append("CustVendAC"         , adoTypeToExcel('str'));
    flds.Append("Amount"         , adoTypeToExcel('num'));
    flds.Append("Tax"         , adoTypeToExcel('num'));
    rstAxa.Open();

    qbds = query.addDataSource(tableNum(FactureJour_RU));
    qbds.addRange(fieldNum(FactureJour_RU, Module)).value(queryValue(FactureModule_RU::Vend));
    qbds.addRange(fieldNum(FactureJour_RU, FactureDate)).value(strfmt('((%1 >= %2) && (%1 <= %3))', fieldstr(FactureJour_RU, FactureDate),date2StrXpp(startDate), date2StrXpp(endDate)));

    qbds = query.dataSourceTable(tableNum(FactureJour_RU)).addDataSource(tableNum(PurchBookVATProcessLogTrans_RU));
    qbds.relations(true);
    qbds.joinMode(JoinMode::NoExistsJoin);

    qr = new QueryRun(query);
    
    while(qr.next())
    {
        factureJour = qr.get(tableNum(FactureJour_RU));
        
        rstAxa.AddNew();
        fld = flds.Item("FactureDate"); fld.Value(facturejour.FactureDate);
        fld = flds.Item("FactureExternalId"); fld.Value(facturejour.FactureExternalId);
        fld = flds.Item("CustVendAC"); fld.Value(facturejour.CustVendInvoiceAccount);
        fld = flds.Item("Amount"); fld.Value(facturejour.FactureAmount);
        fld = flds.Item("Tax"); fld.Value(facturejour.FactureTax);
        rstAxa.Update();
    }

    xlApp = new COM('Excel.Application');

    wbks = xlApp.Workbooks();
    wbk  = wbks.Add();
    wkss = wbk.Worksheets();
    wks  = wkss.Item(1);
    wks.Name('NotExistsInPurchBook');
    rng  = wks.Range('A1');

    flds = rstAxa.Fields();
    iMax = flds.Count() - 1;
    for (i = 0; i <= iMax; i += 1)
    {
        fld = flds.Item(i);
        cell = rng.Offset(0, i);
        cell.Value2(fld.Name());
    }
    rngCR = rng.CurrentRegion();
    font = rngCR.Font();
    font.Bold(true);

    cell = rng.Offset(1, 0);
    cell.CopyFromRecordset(rstAxa);

    rngCR = rng.CurrentRegion();
    entCol = rngCR.EntireColumn();
    entCol.AutoFit();

    cell.Select();
    actWin = xlApp.ActiveWindow();
    actWin.FreezePanes(true);
    xlApp.Visible(true);
    rstAxa.Close();
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
обработка входящего ндс (сторно предоплаты) Nati DAX: Программирование 0 11.04.2014 09:08
Обработка входящего НДС. Нечего разносить S.Kuskov DAX: Функционал 4 11.01.2013 17:15
Обработка входящего НДС andrw DAX: Функционал 12 05.03.2008 11:35
SP4. Обработка входящего НДС ToRo DAX: Функционал 7 19.01.2006 11:44
Налоговые выплаты & Обработка входящего НДС uvi DAX: Функционал 9 01.08.2003 13:18

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:38.