陈清红
2025-04-14 880f3c0257eeb8c37761d484258fdd102a369a19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Quintiq file version 2.0
#parent: PanelOperation/ButtonProductionImport660
Response OnClick () id:Response_PanelOperation_ButtonProductionImport660_OnClick
{
  #keys: '[415136.0.1194549736]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( MacroPlan );
  *]
  QuillAction
  {
    Body:
    [*
      try {
        uploadJsonString := Application.GetFile();
        if ( uploadJsonString <> "" ) {
          uploadJson := JSON::Parse( uploadJsonString );
          Archive::VerifyTheFileName( uploadJson );
                
          fileName := uploadJson.Get( "name" ).GetString();
          base64String := uploadJson.Get( "data" ).GetString();
              
          webFileBinaryData := BinaryData::FromBase64EncodedString( base64String ).AsBinaryValue();
          
          source := FinancialProductionSource::Upload( MacroPlan, webFileBinaryData, fileName );
          source.ReadStructure();
          
          if( not source.IsExistFutureMonthData() or 
              ( source.IsExistFutureMonthData() and WebMessageBox::Question( this, Translations::MP_FinancialProductionReport_Question(), 'Yes|No' ) = 0 ) ){
             FinancialProductionSource::Initialize( MacroPlan );
             source.AfterImport();
             productids              := selectuniquevalues( DataHolderProduct.Data(), Elements, product, exists( dhGenerations.Data(), Elements, e, e.Generation() = product.Generation() )
                                                       and exists( dhMQBMLBs.Data(), Elements, e, e.MLBMQB() = product.MQBMLB() )
                                                       and exists( dhPowers.Data(), Elements, e, e.Power() = product.Power() ), product.ID() );
        
             table                   := selectobject( MacroPlan, FinancialProductionSource.FinancialProductionReport, table, table.IsShow() );
             table.Generate( dhSearch.Data(), dhFactorys.Data(), productids );
             DataHolderTable.Data( table );
          }
          
          WebMessageBox::Success( Translations::A_VWED_Success() );
          traverse( MacroPlan, FinancialProductionSource, psource, psource.IsImport() and psource <> source ){
            psource.Delete();
          }
        }
      } onerror {
        WebMessageBox::Error( e.GeneralInformation() );
      }
    *]
    GroupServerCalls: false
  }
}