lazhen
2024-10-18 19e23a072fd48b81abb745cb5c8e8cd406cab9c9
财务产量/销量,库存汇总的导出bug
已修改3个文件
106 ■■■■■ 文件已修改
_Main/BL/Type_FinancialProductionSource/StaticMethod_Download.qbl 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_FinancialSalesSource/StaticMethod_Download.qbl 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_FinancialProductionSource/StaticMethod_Download.qbl
@@ -80,6 +80,12 @@
      searchcolumnelement.AppendChild( searchmlbmqlcellElement );
    }
    
    for( i := searchtotal; i < table.FinancialProductionRow( relsize ); i := i + 1 ){
      searchcellElement           := xmlDOM.CreateElement( "cell" );
      searchcellElement.SetAttribute( "value", '' );
      searchcolumnelement.AppendChild( searchcellElement );
    }
    minindex        := min( table, FinancialProductionColumn, column, not column.IsDay(), column.Index() );
    traverse ( table, FinancialProductionColumn, column, not column.IsDay() ) {
      columnelement := xmlDOM.CreateElement( "column" );
@@ -103,31 +109,30 @@
          unitcellElement := xmlDOM.CreateElement( "cell" );
          unitcellElement.SetAttribute( "value", row.Unit() );
          unitcolumnelement.AppendChild( unitcellElement );
          if( cells.Size() > searchtotal ){
            for( i := searchtotal; i < cells.Size(); i := i + 1 ){
              searchcellElement1 := xmlDOM.CreateElement( "cell" );
              searchcellElement1.SetAttribute( "value", '' );
              searchcolumnelement.AppendChild( searchcellElement1 );
            }
          }
        }
        cellElement := xmlDOM.CreateElement( "cell" );
        cellElement.SetAttribute( "value", c.Value() ); 
        columnelement.AppendChild( cellElement );
      }
      if( cells.Size() < searchtotal ){
        for( i := cells.Size(); i < searchtotal; i := i + 1 ){
          searchcellElement1 := xmlDOM.CreateElement( "cell" );
          searchcellElement1.SetAttribute( "value", '' );
          searchcolumnelement.AppendChild( searchcellElement1 );
        searchcellElement         := xmlDOM.CreateElement( "cell" );
        searchcellElement.SetAttribute( "value", '' );
        columnelement.AppendChild( searchcellElement );
        if( column.Index() = minindex ){
          productcellElement      := xmlDOM.CreateElement( "cell" );
          productcellElement.SetAttribute( "value", '' );
          productcolumnelement.AppendChild( productcellElement );
          //Unit
          unitcellElement         := xmlDOM.CreateElement( "cell" );
          unitcellElement.SetAttribute( "value", '' );
          unitcolumnelement.AppendChild( unitcellElement );
        }
      }
      tableElement.AppendChild( columnelement );  
    }
    
    xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM )
    //info( xmlString );
    
    tableGroupHandle := TableGroupHandle::Create( FinancialProductionReport::GetDefaultName() );
    tableHandle      := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) );
_Main/BL/Type_FinancialSalesSource/StaticMethod_Download.qbl
@@ -79,6 +79,13 @@
      searchmlbmqlcellElement.SetAttribute( "value", mlbmql.MLBMQB() );
      searchcolumnelement.AppendChild( searchmlbmqlcellElement );
    }
    for( i := searchtotal; i < table.FinancialSalesRow( relsize ); i := i + 1 ){
      searchcellElement           := xmlDOM.CreateElement( "cell" );
      searchcellElement.SetAttribute( "value", '' );
      searchcolumnelement.AppendChild( searchcellElement );
    }
    minindex        := min( table, FinancialSalesColumn, column, not column.IsDay(), column.Index() );
    traverse ( table, FinancialSalesColumn, column, not column.IsDay() ) {
      columnelement := xmlDOM.CreateElement( "column" );
@@ -114,19 +121,25 @@
        cellElement.SetAttribute( "value", c.Value() ); 
        columnelement.AppendChild( cellElement );
      }
      if( cells.Size() < searchtotal ){
        for( i := cells.Size(); i < searchtotal; i := i + 1 ){
          searchcellElement1 := xmlDOM.CreateElement( "cell" );
          searchcellElement1.SetAttribute( "value", '' );
          searchcolumnelement.AppendChild( searchcellElement1 );
        searchcellElement         := xmlDOM.CreateElement( "cell" );
        searchcellElement.SetAttribute( "value", '' );
        columnelement.AppendChild( searchcellElement );
        if( column.Index() = minindex ){
          productcellElement      := xmlDOM.CreateElement( "cell" );
          productcellElement.SetAttribute( "value", '' );
          productcolumnelement.AppendChild( productcellElement );
          //Unit
          unitcellElement         := xmlDOM.CreateElement( "cell" );
          unitcellElement.SetAttribute( "value", '' );
          unitcolumnelement.AppendChild( unitcellElement );
        }
      }
      tableElement.AppendChild( columnelement );  
    }
    
    xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM );
    //info( xmlString );
    
    tableGroupHandle := TableGroupHandle::Create( FinancialSalesReport::GetDefaultName() );
    tableHandle      := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) );
_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl
@@ -101,12 +101,19 @@
    searchenddatecellElement := xmlDOM.CreateElement( "cell" );
    searchenddatecellElement.SetAttribute( "value", search.EndDate().Format( 'M2/D2/Y' ) );
    searchcolumnelement.AppendChild( searchenddatecellElement );
    searchcellElement1 := xmlDOM.CreateElement( "cell" );
    searchcellElement1.SetAttribute( "value", 'Periods' );
    searchcolumnelement.AppendChild( searchcellElement1 );
    searchcellElement1 := xmlDOM.CreateElement( "cell" );
    searchcellElement1.SetAttribute( "value", search.Category() );
    searchcolumnelement.AppendChild( searchcellElement1 );
    searchperiodElement         := xmlDOM.CreateElement( "cell" );
    searchperiodElement.SetAttribute( "value", 'Periods' );
    searchcolumnelement.AppendChild( searchperiodElement );
    searchperiodcellElement     := xmlDOM.CreateElement( "cell" );
    searchperiodcellElement.SetAttribute( "value", search.Category() );
    searchcolumnelement.AppendChild( searchperiodcellElement );
    for( i := searchtotal; i < table.InventroySummaryRow( relsize ) * 4; i := i + 1 ){
      searchcellElement         := xmlDOM.CreateElement( "cell" );
      searchcellElement.SetAttribute( "value", '' );
      searchcolumnelement.AppendChild( searchcellElement );
    }
    traverse ( table, InventorySummaryColumn, column ) {
      columnelement := xmlDOM.CreateElement( "column" );
      nameelement   := xmlDOM.CreateElement( "name" );
@@ -165,13 +172,6 @@
          avecellElement.SetAttribute( "value", '平均库存' );//AverageInventory
          attricolumnelement.AppendChild( avecellElement );
          
          if( cells.Size() > searchtotal ){
            for( i := searchtotal; i < cells.Size(); i := i + 1 ){
              searchcellElement1 := xmlDOM.CreateElement( "cell" );
              searchcellElement1.SetAttribute( "value", '' );
              searchcolumnelement.AppendChild( searchcellElement1 );
            }
          }
        }
        //期末库存
        endcellElement := xmlDOM.CreateElement( "cell" );
@@ -190,19 +190,29 @@
        avecellElement.SetAttribute( "value", [String]c.AverageInventory() );
        columnelement.AppendChild( avecellElement );
      }
      if( cells.Size() < searchtotal ){
        for( i := cells.Size(); i < searchtotal; i := i + 1 ){
          searchcellElement1 := xmlDOM.CreateElement( "cell" );
          searchcellElement1.SetAttribute( "value", '' );
          searchcolumnelement.AppendChild( searchcellElement1 );
      for( i := cells.Size() * 4; i < searchtotal; i := i + 1 ){
        searchcellElement       := xmlDOM.CreateElement( "cell" );
        searchcellElement.SetAttribute( "value", '' );
        columnelement.AppendChild( searchcellElement );
        if( column.Index() = 0 ){
          productcellElement    := xmlDOM.CreateElement( "cell" );
          productcellElement.SetAttribute( "value", '' );
          productcolumnelement.AppendChild( productcellElement );
          unitcellElement       := xmlDOM.CreateElement( "cell" );
          unitcellElement.SetAttribute( "value", '' );
          unitcolumnelement.AppendChild( unitcellElement );
          endcellElement        := xmlDOM.CreateElement( "cell" );
          endcellElement.SetAttribute( "value", '' );//EndingInventory
          attricolumnelement.AppendChild( endcellElement );
        }
      }
      tableElement.AppendChild( columnelement );  
    }
    
    xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM );
    //info( xmlString );
    
    tableGroupHandle := TableGroupHandle::Create( InventorySummaryReport::GetDefaultName() );
    tableHandle      := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) );