Показать сообщение отдельно
Старый 02.06.2016, 07:45   #4  
syl is offline
syl
Участник
Аватар для syl
 
236 / 21 (1) +++
Регистрация: 10.06.2015
Адрес: Киев
Задача решена, может кому будет нужен подобный отчет:
X++:
public static void main(Args arg)
{
    DimensionAttribute dimensionAttribute;
    MainAccount acc;

    SysExcelApplication application;
    SysExcelWorkbooks workbooks;
    SysExcelWorkbook workbook;
    SysExcelWorksheets worksheets;
    SysExcelWorksheet worksheet;
    SysExcelCells cells;
    SysExcelCell cell;
    SysExcelCell cell1;
    SysExcelFont font;

    str Dimension;
    RecId Hierarchy;

    int row;
    int cel;
    
    DimensionSetSegmentName Set;

    application = SysExcelApplication::construct();
    workbooks = application.workbooks();
    workbook = workbooks.add();
    worksheets = workbook.worksheets();
    worksheet = worksheets.itemFromNum(1);
    cells = worksheet.cells();
    cells.range('A:A').numberFormat('@');


    startLengthyOperation();
    // Setting Header values
    cel = 2;
    while select dimensionAttribute
        where !(dimensionAttribute.Name like '*SystemGen*')
    {
        cel++;
        cell = cells.item(1, cel);
        cell.value(dimensionAttribute.name);
        font = cell.font();
        font.bold(true);
    }

    cel = 2;
    row = 1;
    while select acc order by MainAccountId
    {
        row++;
        cell = cells.item(row, 1);
        cell.value(acc.MainAccountId);
        font = cell.font();
        font.bold(true);
        cell = cells.item(row, 2);
        cell.value(acc.Name);
        font = cell.font();
        font.bold(true);

        Hierarchy = DimensionHierarchy::getAccountStructure(acc.RecId);
        
        Set = DimensionHierarchyLevel::getDimensionHierarchyLevelNames(Hierarchy);
        
        while select dimensionAttribute
            where !(dimensionAttribute.Name like '*SystemGen*')
        {
            cel++;
            cell1 = cells.item(row, cel);

            Dimension = dimensionAttribute.Name;
            
            if(Set[1] == Dimension ||
            Set[2] == Dimension ||
            Set[3] == Dimension ||
            Set[4] == Dimension ||
            Set[5] == Dimension ||
            Set[6] == Dimension ||
            Set[7] == Dimension ||
            Set[8] == Dimension ||
            Set[9] == Dimension ||
            Set[10] == Dimension ||
            Set[11] == Dimension)
                cell1.value('+');
        }
        cel = 2;
    }
    endLengthyOperation();
    application.visible(true);
}