Quintiq file version 2.0
|
#parent: #root
|
StaticMethod Download (
|
MacroPlan macroPlan
|
) as BinaryValue
|
{
|
Description: '下载财务报表数据'
|
TextBody:
|
[*
|
|
table := macroPlan.FinancialWeeklyReport();
|
|
xmlDOMI := XMLDOMImplementation::Create();
|
xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + table.Name() + '</name></table>' );
|
|
tableElement := xmlDOM.GetElementByTagName( "table", 0 );
|
//行名
|
rowcolumnelement := xmlDOM.CreateElement( "column" );
|
rownameelement := xmlDOM.CreateElement( "name" );
|
rowtypeelement := xmlDOM.CreateElement( "type" );
|
rownameelement.TextContent( '' );
|
rowtypeelement.TextContent( "String" );
|
rowcolumnelement.AppendChild( rownameelement );
|
rowcolumnelement.AppendChild( rowtypeelement );
|
|
tableElement.AppendChild( rowcolumnelement );
|
traverse ( table, FinancialWeeklyColumn, 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, FinancialWeeklyCell, cell, cell.FinancialWeeklyRow().RowNr() );
|
|
traverse ( cells, Elements, c ) {
|
if( column.Index() = 0 ){
|
row := c.FinancialWeeklyRow();
|
//行名
|
rowcellElement := xmlDOM.CreateElement( "cell" );
|
rowcellElement.SetAttribute( "value", row.Name() );
|
rowcolumnelement.AppendChild( rowcellElement );
|
}
|
cellElement := xmlDOM.CreateElement( "cell" );
|
cellElement.SetAttribute( "value", c.Value() );
|
columnelement.AppendChild( cellElement );
|
}
|
tableElement.AppendChild( columnelement );
|
}
|
|
xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM );
|
|
//info( xmlString );
|
|
tableGroupHandle := TableGroupHandle::Create( FinancialWeeklyReport::GetDefaultName() );
|
tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) );
|
tableGroupHandle.Add( tableHandle );
|
|
binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
|
|
return binaryData.AsBinaryValue();
|
*]
|
}
|