| | |
| | | allrow := table.FinancialSalesRow( relnew, Name := product.Value(), Unit := allunit ); |
| | | } |
| | | |
| | | traverse( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() <> productcolumn and cell.FinancialSalesColumn() <> unitcolumn ){ |
| | | traverse( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() <> productcolumn and cell.FinancialSalesColumn() <> unitcolumn and cnv2.Convert( cell.FinancialSalesColumn().Name() ) <> beforeyearday ){ |
| | | column := cell.FinancialSalesColumn(); |
| | | period := cnv2.Convert( column.Name() ) |
| | | periodname := period.Format( "M2/D2/Y" ) |
| | | |
| | | tablecolumn := construct( FinancialSalesColumn ); |
| | | if( period = beforeyearday ){ |
| | | periodname := yearday.Format( "M2/D2/Y" ); |
| | | //获取被导入报表的日期列 |
| | | tablecolumn := selectobject( table, FinancialSalesColumn, fscolumn, not fscolumn.IsDay() and fscolumn.Name() = periodname ); |
| | | if( isnull( tablecolumn ) ){ |
| | | tablecolumn := table.FinancialSalesColumn( relnew, Name := periodname, Period := yearday.Date() ); |
| | | } |
| | | }else{ |
| | | tablecolumn := selectobject( table, FinancialSalesColumn, fscolumn, not fscolumn.IsDay() and fscolumn.Name() = column.Name() ); |
| | | if( isnull( tablecolumn ) ){ |
| | | tablecolumn := table.FinancialSalesColumn( relnew, Name := column.Name(), Period := cnv2.Convert( column.Name() ) ); |
| | | } |
| | | //获取被导入报表的日期列 |
| | | tablecolumn := selectobject( table, FinancialSalesColumn, fscolumn, not fscolumn.IsDay() and fscolumn.Name() = periodname ); |
| | | if( isnull( tablecolumn ) ){ |
| | | tablecolumn := table.FinancialSalesColumn( relnew, Name := periodname, Period := yearday.Date() ); |
| | | } |
| | | unitcell := selectobject( unitrow, FinancialSalesCell, unitcell, unitcell.FinancialSalesColumn().Name() = column.Name() ); |
| | | if( isnull( unitcell ) ){ |
| | | unitcell := tablecolumn.FinancialSalesCell( relnew, Value := cell.Value() ); |
| | | unitrow.FinancialSalesCell( relinsert, unitcell ); |
| | | }else{ |
| | | if( unitcell.Value() <> cell.Value() ){ |
| | | unitcell.Value( cell.Value() ); |
| | | unitcell.IsUpdate( true ); |
| | | previouscolumn := cell.FinancialSalesColumn().PreviousColumn(); |
| | | if( period = yearday.Date() and not isnull( previouscolumn ) and beforeyearday = cnv2.Convert( previouscolumn.Name() ) ){ |
| | | previouscell := selectobject( row, FinancialSalesCell, previouscell, previouscell.FinancialSalesColumn() = previouscolumn ); |
| | | quantity := [Real]cell.Value() + [Real]previouscell.Value(); |
| | | if( [Real]unitcell.Value() <> quantity ){ |
| | | unitcell.Value( [String]( [Number]cell.Value() ) ); |
| | | unitcell.IsUpdate( true ); |
| | | } |
| | | } |
| | | } |
| | | allcell := selectobject( allrow, FinancialSalesCell, allcell, allcell.FinancialSalesColumn().Name() = column.Name() ); |
| | |
| | | allcell := tablecolumn.FinancialSalesCell( relnew, Value := cell.Value() ); |
| | | allrow.FinancialSalesCell( relinsert, allcell ); |
| | | }else{ |
| | | if( allcell.Value() <> cell.Value() ){ |
| | | allcell.Value( cell.Value() ); |
| | | allcell.IsUpdate( true ); |
| | | previouscolumn := cell.FinancialSalesColumn().PreviousColumn(); |
| | | if( period = yearday.Date() and not isnull( previouscolumn ) and beforeyearday = cnv2.Convert( previouscolumn.Name() ) ){ |
| | | previouscell := selectobject( row, FinancialSalesCell, previouscell, previouscell.FinancialSalesColumn() = previouscolumn ); |
| | | quantity := [Real]cell.Value() + [Real]previouscell.Value(); |
| | | if( [Real]allcell.Value() <> quantity ){ |
| | | allcell.Value( [String]( [Number]cell.Value() ) ); |
| | | allcell.IsUpdate( true ); |
| | | } |
| | | } |
| | | } |
| | | } |