Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod Download ( 
 | 
  MacroPlan macroPlan 
 | 
) as BinaryValue 
 | 
{ 
 | 
  Description: '下载发动机管线数据' 
 | 
  TextBody: 
 | 
  [* 
 | 
     
 | 
    table := selectobject( macroPlan, MachiningPipelineSource.Report, table, table.IsShow() ); 
 | 
     
 | 
    xmlDOMI := XMLDOMImplementation::Create(); 
 | 
    xmlDOM  := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + table.Name() + '</name></table>' ); 
 | 
     
 | 
    tableElement := xmlDOM.GetElementByTagName( "table", 0 ); 
 | 
    //Product 
 | 
    productcolumnelement := xmlDOM.CreateElement( "column" ); 
 | 
    productnameelement   := xmlDOM.CreateElement( "name" ); 
 | 
    producttypeelement   := xmlDOM.CreateElement( "type" ); 
 | 
    productnameelement.TextContent( 'Product' ); 
 | 
    producttypeelement.TextContent( "String" ); 
 | 
    productcolumnelement.AppendChild( productnameelement ); 
 | 
    productcolumnelement.AppendChild( producttypeelement ); 
 | 
    //Attribute 
 | 
    attricolumnelement := xmlDOM.CreateElement( "column" ); 
 | 
    attrinameelement   := xmlDOM.CreateElement( "name" ); 
 | 
    attritypeelement   := xmlDOM.CreateElement( "type" ); 
 | 
    attrinameelement.TextContent( 'Attribute' ); 
 | 
    attritypeelement.TextContent( "String" ); 
 | 
    attricolumnelement.AppendChild( attrinameelement ); 
 | 
    attricolumnelement.AppendChild( attritypeelement ); 
 | 
     
 | 
    tableElement.AppendChild( productcolumnelement );  
 | 
    tableElement.AppendChild( attricolumnelement ); 
 | 
    traverse ( table, Column, column ) { 
 | 
      columnelement := xmlDOM.CreateElement( "column" ); 
 | 
      nameelement   := xmlDOM.CreateElement( "name" ); 
 | 
      typeelement   := xmlDOM.CreateElement( "type" ); 
 | 
      nameelement.TextContent( column.Name() ); 
 | 
      typeelement.TextContent( "String" ); 
 | 
      columnelement.AppendChild( nameelement ); 
 | 
      columnelement.AppendChild( typeelement ); 
 | 
       
 | 
      cells := selectsortedset( column, Cell, cell, cell.Row().RowNr() ); 
 | 
     
 | 
      traverse ( cells, Elements, c ) { 
 | 
        if( column.Index() = 0 ){ 
 | 
          row := c.Row(); 
 | 
          //Product 
 | 
          productcellElement1 := xmlDOM.CreateElement( "cell" ); 
 | 
          productcellElement1.SetAttribute( "value", row.Name() ); 
 | 
          productcolumnelement.AppendChild( productcellElement1 ); 
 | 
          productcellElement2 := xmlDOM.CreateElement( "cell" ); 
 | 
          productcellElement2.SetAttribute( "value", row.Name() ); 
 | 
          productcolumnelement.AppendChild( productcellElement2 ); 
 | 
          productcellElement3 := xmlDOM.CreateElement( "cell" ); 
 | 
          productcellElement3.SetAttribute( "value", row.Name() ); 
 | 
          productcolumnelement.AppendChild( productcellElement3 ); 
 | 
          productcellElement4 := xmlDOM.CreateElement( "cell" ); 
 | 
          productcellElement4.SetAttribute( "value", row.Name() ); 
 | 
          productcolumnelement.AppendChild( productcellElement4 ); 
 | 
          productcellElement5 := xmlDOM.CreateElement( "cell" ); 
 | 
          productcellElement5.SetAttribute( "value", row.Name() ); 
 | 
          productcolumnelement.AppendChild( productcellElement5 ); 
 | 
          productcellElement6 := xmlDOM.CreateElement( "cell" ); 
 | 
          productcellElement6.SetAttribute( "value", row.Name() ); 
 | 
          productcolumnelement.AppendChild( productcellElement6 ); 
 | 
          productcellElement7 := xmlDOM.CreateElement( "cell" ); 
 | 
          productcellElement7.SetAttribute( "value", row.Name() ); 
 | 
          productcolumnelement.AppendChild( productcellElement7 ); 
 | 
          productcellElement8 := xmlDOM.CreateElement( "cell" ); 
 | 
          productcellElement8.SetAttribute( "value", row.Name() ); 
 | 
          productcolumnelement.AppendChild( productcellElement8 ); 
 | 
          productcellElement9 := xmlDOM.CreateElement( "cell" ); 
 | 
          productcellElement9.SetAttribute( "value", row.Name() ); 
 | 
          productcolumnelement.AppendChild( productcellElement9 ); 
 | 
          //Attribute 
 | 
          //长春装配计划 
 | 
          ccaqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
          ccaqcellElement.SetAttribute( "value", 'CC装配计划' );//CCAssemblyPlanQty 
 | 
          attricolumnelement.AppendChild( ccaqcellElement ); 
 | 
          //长春生产计划 
 | 
          ccpqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
          ccpqcellElement.SetAttribute( "value", 'CC机加计划' );//CCProductionQty 
 | 
          attricolumnelement.AppendChild( ccpqcellElement ); 
 | 
          //长春调拨计划 
 | 
          cctqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
          cctqcellElement.SetAttribute( "value", 'CC to DL' );//CCTransferQty 
 | 
          attricolumnelement.AppendChild( cctqcellElement ); 
 | 
          //长春库存 
 | 
          cciqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
          cciqcellElement.SetAttribute( "value", 'CC库存' );//CCInventoryQty 
 | 
          attricolumnelement.AppendChild( cciqcellElement ); 
 | 
          //大连装配计划 
 | 
          dlaqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
          dlaqcellElement.SetAttribute( "value", 'DL装配计划' );//DLAssemblyPlanQty 
 | 
          attricolumnelement.AppendChild( dlaqcellElement ); 
 | 
          //大连生产计划 
 | 
          dlpqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
          dlpqcellElement.SetAttribute( "value", 'DL机加计划' );//DLProductionQty 
 | 
          attricolumnelement.AppendChild( dlpqcellElement ); 
 | 
          //大连调拨计划 
 | 
          dltqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
          dltqcellElement.SetAttribute( "value", 'DL to CC' );//DLTransferQty 
 | 
          attricolumnelement.AppendChild( dltqcellElement ); 
 | 
          //大连库存 
 | 
          dliqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
          dliqcellElement.SetAttribute( "value", 'DL库存' );//DLInventoryQty 
 | 
          attricolumnelement.AppendChild( dliqcellElement ); 
 | 
          //长春 + 大连 库存 
 | 
          tiqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
          tiqcellElement.SetAttribute( "value", 'CC + DL库存' );//TotalInventoryQty 
 | 
          attricolumnelement.AppendChild( tiqcellElement ); 
 | 
        } 
 | 
        //长春装配计划 
 | 
        ccaqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
        ccaqcellElement.SetAttribute( "value", [String]c.CCAssemblyPlanQty() ); 
 | 
        columnelement.AppendChild( ccaqcellElement ); 
 | 
        //长春生产计划 
 | 
        ccpqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
        ccpqcellElement.SetAttribute( "value", [String]c.CCProductionQty() ); 
 | 
        columnelement.AppendChild( ccpqcellElement ); 
 | 
        //长春调拨计划 
 | 
        cctqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
        cctqcellElement.SetAttribute( "value", [String]c.CCTransferQty() ); 
 | 
        columnelement.AppendChild( cctqcellElement ); 
 | 
        //长春库存 
 | 
        cciqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
        cciqcellElement.SetAttribute( "value", [String]c.CCInventoryQty() ); 
 | 
        columnelement.AppendChild( cciqcellElement ); 
 | 
        //大连装配计划 
 | 
        dlaqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
        dlaqcellElement.SetAttribute( "value", [String]c.DLAssemblyPlanQty() ); 
 | 
        columnelement.AppendChild( dlaqcellElement ); 
 | 
        //大连生产计划 
 | 
        dlpqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
        dlpqcellElement.SetAttribute( "value", [String]c.DLProductionQty() ); 
 | 
        columnelement.AppendChild( dlpqcellElement ); 
 | 
        //大连调拨计划 
 | 
        dltqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
        dltqcellElement.SetAttribute( "value", [String]c.DLTransferQty() ); 
 | 
        columnelement.AppendChild( dltqcellElement ); 
 | 
        //大连库存 
 | 
        dliqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
        dliqcellElement.SetAttribute( "value", [String]c.DLInventoryQty() ); 
 | 
        columnelement.AppendChild( dliqcellElement ); 
 | 
        //长春 + 大连 库存 
 | 
        tiqcellElement := xmlDOM.CreateElement( "cell" ); 
 | 
        tiqcellElement.SetAttribute( "value", [String]c.TotalInventoryQty() ); 
 | 
        columnelement.AppendChild( tiqcellElement ); 
 | 
      } 
 | 
      tableElement.AppendChild( columnelement );   
 | 
    } 
 | 
     
 | 
    xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ); 
 | 
     
 | 
    //info( xmlString ); 
 | 
     
 | 
    tableGroupHandle := TableGroupHandle::Create( MachiningPipelineReport::GetDefaultName() ); 
 | 
    tableHandle      := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); 
 | 
    tableGroupHandle.Add( tableHandle ); 
 | 
     
 | 
    binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); 
 | 
     
 | 
    return binaryData.AsBinaryValue(); 
 | 
  *] 
 | 
} 
 |