lazhen
2024-09-04 cd76160e1dcefe21c06b610bd4ef17928cbfba51
_Main/BL/Type_CustomerDemandPPAIDS/StaticMethod_GenerateData.qbl
@@ -2,6 +2,7 @@
#parent: #root
StaticMethod GenerateData (
  const MacroPlan macroplan,
  RecycleBin recycle,
  const Archive archive,
  InterfaceDataset interfaceDataset,
  String executor,
@@ -43,15 +44,16 @@
      loginfo.CustomerDemandPPAIDS( relinsert, cd );
    }
    binaryValue           := TemplateManager::GetIDSFullTable( archive, Date::ActualDate().Year() );
    CustomerDemandIDS::ReadStructure( binaryValue, interfaceDataset );
    productcolumn         := select( interfaceDataset, CustomerDemandIDS.Column, column, column.Index() = 1 );
    source                := GeneralExcelImportAndExportDataSource::Upload( recycle, binaryValue, OS::TempPath() + "template.xlsx" );
    source.ReadStructure();
    //productcolumn         := select( recycle, ge.Column, column, column.Index() = 1 );
    cnv2 := StringToDate::StandardConverter();
    cnv2.SetCustomConversion();
    cnv2.CustomFormatString( "dd/MM/yyyy" );
    traverse( interfaceDataset, CustomerDemandIDS.Row, row ){
      product             := selectobject( row, Cell, cell, cell.Column() = productcolumn );
      traverse( row, Cell, cell, cell.Column().Index() > 3 ){
        period := cnv2.Convert( cell.Column().Name() );
    traverse( recycle, GeneralExcelImportAndExportDataSource.GeneralExcelImportAndExportDataTable.GeneralExcelImportAndExportDataRow, row ){
      product             := selectobject( row, GeneralExcelImportAndExportDataCell, cell, cell.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 1 );
      traverse( row, GeneralExcelImportAndExportDataCell, cell, cell.GeneralExcelImportAndExportDataColumn().ColumnIndex() > 3 ){
        period := cnv2.Convert( cell.GeneralExcelImportAndExportDataColumn().Name() );
        cd                  :=interfaceDataset.CustomerDemandPPAIDS( relnew, Product           := product.Value()
                                                                     , DemandDate              := period
                                                                     , DemandQty               := [Number]cell.Value()
@@ -62,6 +64,7 @@
        loginfo.CustomerDemandPPAIDS( relinsert, cd );
      }
    }
    source.Delete();
    loginfo.TotalRow( loginfo.CustomerDemandPPAIDS( relsize ) );
  *]
}