From 4bb71bc32df6a2ce847b5dc1853dea732e2d0253 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期三, 23 十月 2024 17:53:19 +0800
Subject: [PATCH] 财务产量报表/销量报表导入bug
---
_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl | 61 ++++++++++++++----------------
1 files changed, 28 insertions(+), 33 deletions(-)
diff --git a/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl b/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl
index 43dbe28..ba14ab4 100644
--- a/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl
+++ b/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl
@@ -5,7 +5,7 @@
TextBody:
[*
// 鐢勫叞楦� Jun-24-2024 (created)
- allunit := FinancialProductionReport::GetDefaultAllUnit();
+ //allunit := FinancialProductionReport::GetDefaultAllUnit();
table := selectobject( this.MacroPlan(), FinancialSalesSource.FinancialSalesReport, table, not table.IsImport() and not table.IsShow() );
yearday := this.MacroPlan().StartOfPlanning().StartOfYear();
beforeyearday := ( yearday - Duration::Days( 1 ) ).Date();
@@ -25,52 +25,47 @@
if( isnull( unitrow ) ){
unitrow := table.FinancialSalesRow( relnew, Name := product.Value(), Unit := unit.Value() );
}
- allrow := selectobject( table, FinancialSalesRow, allrow, allrow.Name() = product.Value() and allrow.Unit() = allunit );
- if( isnull( unitrow ) ){
- allrow := table.FinancialSalesRow( relnew, Name := product.Value(), Unit := allunit );
- }
+ // allrow := selectobject( table, FinancialSalesRow, allrow, allrow.Name() = product.Value() and allrow.Unit() = allunit );
+ // if( isnull( unitrow ) ){
+ // allrow := table.FinancialSalesRow( relnew, Name := product.Value(), Unit := allunit );
+ // }
- traverse( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() <> productcolumn and cell.FinancialSalesColumn() <> unitcolumn and cnv2.Convert( cell.FinancialSalesColumn().Name() ) <> beforeyearday ){
+ traverse( row, FinancialSalesCell, cell, cell.Value() <> '0' and 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" )
-
+ periodname := period.Format( "M2/D2/Y" );
+ quantity := [Real]cell.Value()
+ 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();
+ }
tablecolumn := construct( FinancialSalesColumn );
//鑾峰彇琚鍏ユ姤琛ㄧ殑鏃ユ湡鍒�
- tablecolumn := selectobject( table, FinancialSalesColumn, fscolumn, not fscolumn.IsDay() and fscolumn.Name() = periodname );
+ tablecolumn := selectobject( table, FinancialSalesColumn, fscolumn, not fscolumn.IsDay() and fscolumn.Name() = periodname );
if( isnull( tablecolumn ) ){
- tablecolumn := table.FinancialSalesColumn( relnew, Name := periodname, Period := yearday.Date() );
+ tablecolumn := table.FinancialSalesColumn( relnew, Name := periodname, Period := yearday.Date() );
}
unitcell := selectobject( unitrow, FinancialSalesCell, unitcell, unitcell.FinancialSalesColumn() = tablecolumn );
if( isnull( unitcell ) ){
unitcell := tablecolumn.FinancialSalesCell( relnew, Value := cell.Value() );
unitrow.FinancialSalesCell( relinsert, unitcell );
}else{
- 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]quantity ) );
- unitcell.IsUpdate( true );
- }
+ if( [Real]unitcell.Value() <> quantity ){
+ unitcell.Value( [String]( [Number]quantity ) );
+ unitcell.IsUpdate( true );
}
}
- allcell := selectobject( allrow, FinancialSalesCell, allcell, allcell.FinancialSalesColumn() = tablecolumn );
- if( isnull( unitcell ) ){
- allcell := tablecolumn.FinancialSalesCell( relnew, Value := cell.Value() );
- allrow.FinancialSalesCell( relinsert, allcell );
- }else{
- 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]quantity ) );
- allcell.IsUpdate( true );
- }
- }
- }
+ // allcell := selectobject( allrow, FinancialSalesCell, allcell, allcell.FinancialSalesColumn() = tablecolumn );
+ // if( isnull( allcell ) ){
+ // allcell := tablecolumn.FinancialSalesCell( relnew, Value := cell.Value() );
+ // allrow.FinancialSalesCell( relinsert, allcell );
+ // }else{
+ // if( [Real]allcell.Value() <> quantity ){
+ // allcell.Value( [String]( [Number]quantity ) );
+ // allcell.IsUpdate( true );
+ // }
+ // }
}
}
}
--
Gitblit v1.9.3