Quintiq file version 2.0
|
#parent: #root
|
StaticMethod Download (
|
MacroPlan macroPlan
|
) as BinaryValue
|
{
|
Description: '下载财务报表数据'
|
TextBody:
|
[*
|
|
table := selectobject( macroPlan, DLEngineLogisticsCostReport, 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
|
product1cellElement := xmlDOM.CreateElement( "cell" );
|
product1cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product1cellElement );
|
|
product2cellElement := xmlDOM.CreateElement( "cell" );
|
product2cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product2cellElement );
|
|
product3cellElement := xmlDOM.CreateElement( "cell" );
|
product3cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product3cellElement );
|
|
product4cellElement := xmlDOM.CreateElement( "cell" );
|
product4cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product4cellElement );
|
|
product5cellElement := xmlDOM.CreateElement( "cell" );
|
product5cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product5cellElement );
|
|
product6cellElement := xmlDOM.CreateElement( "cell" );
|
product6cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product6cellElement );
|
|
product7cellElement := xmlDOM.CreateElement( "cell" );
|
product7cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product7cellElement );
|
|
product8cellElement := xmlDOM.CreateElement( "cell" );
|
product8cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product8cellElement );
|
|
product9cellElement := xmlDOM.CreateElement( "cell" );
|
product9cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product9cellElement );
|
|
product10cellElement := xmlDOM.CreateElement( "cell" );
|
product10cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product10cellElement );
|
|
product11cellElement := xmlDOM.CreateElement( "cell" );
|
product11cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product11cellElement );
|
|
product12cellElement := xmlDOM.CreateElement( "cell" );
|
product12cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product12cellElement );
|
|
product13cellElement := xmlDOM.CreateElement( "cell" );
|
product13cellElement.SetAttribute( "value", row.Name() );
|
productcolumnelement.AppendChild( product13cellElement );
|
//Attribute
|
//长春外租库入库费用
|
ccrententercostcellElement := xmlDOM.CreateElement( "cell" );
|
ccrententercostcellElement.SetAttribute( "value", '长春外租库入库费用' );//CCRentEnterCost
|
attricolumnelement.AppendChild( ccrententercostcellElement );
|
//长春外租库出库费用
|
ccrentoutcostcellElement := xmlDOM.CreateElement( "cell" );
|
ccrentoutcostcellElement.SetAttribute( "value", '长春外租库出库费用' );//CCRentOutCost
|
attricolumnelement.AppendChild( ccrentoutcostcellElement );
|
//长春长途运输费用
|
cclongtranscostcellElement := xmlDOM.CreateElement( "cell" );
|
cclongtranscostcellElement.SetAttribute( "value", '长春长途运输费用' );//CCLongTransCost
|
attricolumnelement.AppendChild( cclongtranscostcellElement );
|
//长春短途运输费用
|
ccshorttranscostcellElement := xmlDOM.CreateElement( "cell" );
|
ccshorttranscostcellElement.SetAttribute( "value", '长春短途运输费用' );//CCShortTransCost
|
attricolumnelement.AppendChild( ccshorttranscostcellElement );
|
//长春外租库仓储费用
|
ccrentstoragecostcellElement := xmlDOM.CreateElement( "cell" );
|
ccrentstoragecostcellElement.SetAttribute( "value", '长春外租库仓储费用' );//CCRentStorageCost
|
attricolumnelement.AppendChild( ccrentstoragecostcellElement );
|
//大连外租库入库费用
|
dlrententercostcellElement := xmlDOM.CreateElement( "cell" );
|
dlrententercostcellElement.SetAttribute( "value", '大连外租库入库费用' );//DLRentEnterCost
|
attricolumnelement.AppendChild( dlrententercostcellElement );
|
//大连外租库出库费用
|
dlrentoutcostcellElement := xmlDOM.CreateElement( "cell" );
|
dlrentoutcostcellElement.SetAttribute( "value", '大连外租库出库费用' );//DLRentOutCost
|
attricolumnelement.AppendChild( dlrentoutcostcellElement );
|
//厂内到外租库运输费用
|
factorytorenttranscostcellElement := xmlDOM.CreateElement( "cell" );
|
factorytorenttranscostcellElement.SetAttribute( "value", '厂内到外租库运输费用' );//FactoryToRentTransCost
|
attricolumnelement.AppendChild( factorytorenttranscostcellElement );
|
//大连外租库仓储费用
|
dlrentstoragecostcellElement := xmlDOM.CreateElement( "cell" );
|
dlrentstoragecostcellElement.SetAttribute( "value", '大连外租库仓储费用' );//DLRentStorageCost
|
attricolumnelement.AppendChild( dlrentstoragecostcellElement );
|
//大连外租库其他费用
|
dlrentstoragecostcellElement := xmlDOM.CreateElement( "cell" );
|
dlrentstoragecostcellElement.SetAttribute( "value", '大连外租库其他费用' );//DLRentStorageCost
|
attricolumnelement.AppendChild( dlrentstoragecostcellElement );
|
//预计总费用
|
estimatedtotalcostcellElement := xmlDOM.CreateElement( "cell" );
|
estimatedtotalcostcellElement.SetAttribute( "value", '预计总费用' );//EstimatedTotalCost
|
attricolumnelement.AppendChild( estimatedtotalcostcellElement );
|
//系数
|
coefficientcellElement := xmlDOM.CreateElement( "cell" );
|
coefficientcellElement.SetAttribute( "value", '系数' );//Coefficient
|
attricolumnelement.AppendChild( coefficientcellElement );
|
//总费用
|
totalcostcellElement := xmlDOM.CreateElement( "cell" );
|
totalcostcellElement.SetAttribute( "value", '总费用' );//TotalCost
|
attricolumnelement.AppendChild( totalcostcellElement );
|
}
|
//长春外租库入库费用
|
ccrententercostcellElement := xmlDOM.CreateElement( "cell" );
|
ccrententercostcellElement.SetAttribute( "value", c.CCRentInCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( ccrententercostcellElement );
|
//长春外租库出库费用
|
ccrentoutcostcellElement := xmlDOM.CreateElement( "cell" );
|
ccrentoutcostcellElement.SetAttribute( "value", c.CCRentOutOfCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( ccrentoutcostcellElement );
|
//长春长途运输费用
|
cclongtranscostcellElement := xmlDOM.CreateElement( "cell" );
|
cclongtranscostcellElement.SetAttribute( "value", c.CCLongTransCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( cclongtranscostcellElement );
|
//长春短途运输费用
|
ccshorttranscostcellElement := xmlDOM.CreateElement( "cell" );
|
ccshorttranscostcellElement.SetAttribute( "value", c.CCShorTransCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( ccshorttranscostcellElement );
|
//长春外租库仓储费用
|
ccrentstoragecostcellElement := xmlDOM.CreateElement( "cell" );
|
ccrentstoragecostcellElement.SetAttribute( "value", c.CCRentStorCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( ccrentstoragecostcellElement );
|
//大连外租库入库费用
|
dlrententercostcellElement := xmlDOM.CreateElement( "cell" );
|
dlrententercostcellElement.SetAttribute( "value", c.DLRentInCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( dlrententercostcellElement );
|
//大连外租库出库费用
|
dlrentoutcostcellElement := xmlDOM.CreateElement( "cell" );
|
dlrentoutcostcellElement.SetAttribute( "value", c.DLRentOutOfCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( dlrentoutcostcellElement );
|
//厂内到外租库运输费用
|
factorytorenttranscostcellElement := xmlDOM.CreateElement( "cell" );
|
factorytorenttranscostcellElement.SetAttribute( "value", c.WerkToDLRentTransCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( factorytorenttranscostcellElement );
|
//大连外租库仓储费用
|
dlrentstoragecostcellElement := xmlDOM.CreateElement( "cell" );
|
dlrentstoragecostcellElement.SetAttribute( "value", c.DLRentStorCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( dlrentstoragecostcellElement );
|
//大连外租库其他费用
|
dlrentstoragecostcellElement := xmlDOM.CreateElement( "cell" );
|
dlrentstoragecostcellElement.SetAttribute( "value", c.DLRentOtherCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( dlrentstoragecostcellElement );
|
//预计总费用
|
estimatedtotalcostcellElement := xmlDOM.CreateElement( "cell" );
|
estimatedtotalcostcellElement.SetAttribute( "value", c.EstimateTotalCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( estimatedtotalcostcellElement );
|
//系数
|
coefficientcellElement := xmlDOM.CreateElement( "cell" );
|
coefficientcellElement.SetAttribute( "value", c.CoefficientValue() );
|
columnelement.AppendChild( coefficientcellElement );
|
//总费用
|
totalcostcellElement := xmlDOM.CreateElement( "cell" );
|
totalcostcellElement.SetAttribute( "value", c.AllCost().Format( 'N(Dec)' ) );
|
columnelement.AppendChild( totalcostcellElement );
|
}
|
tableElement.AppendChild( columnelement );
|
}
|
|
xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM )
|
|
//info( xmlString );
|
|
tableGroupHandle := TableGroupHandle::Create( DLEngineLogisticsCostReport::GetDefaultName() );
|
tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) );
|
tableGroupHandle.Add( tableHandle );
|
|
binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
|
|
return binaryData.AsBinaryValue();
|
*]
|
}
|