hongjli
2023-09-18 8c5557b992ac917c11f0f24d9716af1a16045777
全局代理
已添加64个文件
已修改2个文件
1407 ■■■■■ 文件已修改
_Main/BL/EDI/Broker_GlobalOTDTable_ConversionFactor.qbl 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/EDI/Broker_GlobalOTDTable_Product_MP.qbl 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/EDI/Broker_GlobalOTDTable_SalesSegment_MP.qbl 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/EDI/Broker_GlobalOTDTable_UnitOfMeasure_MP.qbl 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingConversionFactor_Global_MappingConvers.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrencyRate_MP_Global_MappingCurrency.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrency_MP_Global_MappingCurrency_MP_.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingProduct_MP_Global_MappingProduct_MP_Gl.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingSalesSegment_MP_Global_MappingSalesSeg.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingStockingPoint_MP_Global_MappingStockin.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingUnitOfMeasure_MP_Global_MappingUnitOfM.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_ApiBuildPostRequestBody.qbl 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationSalesSegment_MP.qbl 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationStockingPoint_MP.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationUnitOfMeasure_MP.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingConversionFactor/Attribute_Factor.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingConversionFactor/Attribute_IsEnabled.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingConversionFactor/Attribute_ProductID.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingConversionFactor/Attribute_SourceUnitOfMeasureName.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingConversionFactor/Attribute_TargetUnitOfMeasureName.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingConversionFactor/TypeIndex_TypeIndex.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingConversionFactor/_ROOT_Type_Global_MappingConversionFactor.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Rate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Start.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrencyRate_MP/_ROOT_Type_Global_MappingCurrencyRate_MP.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrency_MP/Attribute_ID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrency_MP/Attribute_IsBase.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrency_MP/Attribute_Name.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrency_MP/_ROOT_Type_Global_MappingCurrency_MP.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_BusinessType.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_CommonBusiness.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_EndDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ID.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_IsCommon.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_KeyProduct.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_Name.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_Notes.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductMajorType.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductSubclassType.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ShelfLife.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/Attribute_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/TypeIndex_TypeIndexIDAndBusinessType.qbl 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/_ROOT_Type_Global_MappingProduct_MP.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_BusinessType.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_DisplayIndex.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_Name.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_ParentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingSalesSegment_MP/TypeIndex_TypeIndexBusinessTypeAndName.qbl 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingSalesSegment_MP/_ROOT_Type_Global_MappingSalesSegment_MP.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_Name.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_UnitID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_id.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingStockingPoint_MP/_ROOT_Type_Global_MappingStockingPoint_MP.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_IsDefault.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_Name.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/TypeIndex_TypeIndexName.qbl 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/_ROOT_Type_Global_MappingUnitOfMeasure_MP.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl 104 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Component_SplitterWndScenarioManager.def 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_CopyScenario.def 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/EDI/Broker_GlobalOTDTable_ConversionFactor.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
Quintiq file version 2.0
#parent: #root
EDIBroker GlobalOTDTable_ConversionFactor
{
  MDSDefinition: GlobalOTDTable
  TimeZone: 'ACT'
  UseOSTimeZone: false
  EDIModelLink.Destination Destination4
  {
    EDIMLTable Global_MappingConversionFactor
    {
      PrimaryKeyColumns: IsEnabled
      PrimaryKeyColumns: ProductID
      PrimaryKeyColumns: SourceUnitOfMeasureName
      PrimaryKeyColumns: TargetUnitOfMeasureName
      TargetType: Global_MappingConversionFactor
      TypeIndex: TypeIndex
      EDIMLColumn Factor { Attribute: Factor ValueType: Real }
      EDIMLColumn IsEnabled { Attribute: IsEnabled ValueType: Boolean }
      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
      EDIMLColumn SourceUnitOfMeasureName { Attribute: SourceUnitOfMeasureName ValueType: String }
      EDIMLColumn TargetUnitOfMeasureName { Attribute: TargetUnitOfMeasureName ValueType: String }
    }
  }
  EDIODBCLink.Source Source3
  {
    DataIntegrityStrategy: 'Disabled'
    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
    EDIODBCLinkTable MID_BASECONVERSIONFACTORS
    {
      OthersMayCreateTable: true
      OthersMayDeleteRow: true
      OthersMayDropTable: true
      OthersMayFlushTable: true
      OthersMayInsertRow: true
      Parameters: '/owner="OTD"'
      RecordModificationHintStrategy: 'None'
      EDIODBCLinkColumn FACTOR
      {
        OthersMayUpdateColumn: true
        ValueType: Real
      }
      EDIODBCLinkColumn ISENABLED
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn PRODUCTID
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn SOURCEUNITOFMEASURENAME
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn TARGETUNITOFMEASURENAME
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
    }
  }
  EDITransformation.Transformation Transformation3
  {
    EDITableTransformation
    {
      InputTable: MID_BASECONVERSIONFACTORS
      OutputTable: Global_MappingConversionFactor
      EDIColumnMatch { InputColumn: FACTOR OutputColumn: Factor }
      EDIColumnMatch { InputColumn: ISENABLED OutputColumn: IsEnabled }
      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
      EDIColumnMatch { InputColumn: SOURCEUNITOFMEASURENAME OutputColumn: SourceUnitOfMeasureName }
      EDIColumnMatch { InputColumn: TARGETUNITOFMEASURENAME OutputColumn: TargetUnitOfMeasureName }
    }
  }
}
_Main/BL/EDI/Broker_GlobalOTDTable_Product_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,169 @@
Quintiq file version 2.0
#parent: #root
EDIBroker GlobalOTDTable_Product_MP
{
  MDSDefinition: GlobalOTDTable
  TimeZone: 'ACT'
  UseOSTimeZone: false
  EDIModelLink.Destination Destination3
  {
    EDIMLTable Global_MappingProduct_MP
    {
      PrimaryKeyColumns: BusinessType
      PrimaryKeyColumns: ID
      TargetType: Global_MappingProduct_MP
      TypeIndex: TypeIndexIDAndBusinessType
      EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
      EDIMLColumn CommonBusiness { Attribute: CommonBusiness ValueType: String }
      EDIMLColumn EndDate { Attribute: EndDate ValueType: Date }
      EDIMLColumn ID { Attribute: ID ValueType: String }
      EDIMLColumn IsCommon { Attribute: IsCommon ValueType: Boolean }
      EDIMLColumn KeyProduct { Attribute: KeyProduct ValueType: Boolean }
      EDIMLColumn Name { Attribute: Name ValueType: String }
      EDIMLColumn Notes { Attribute: Notes ValueType: String }
      EDIMLColumn ProductMajorType { Attribute: ProductMajorType ValueType: String }
      EDIMLColumn ProductSubclassType { Attribute: ProductSubclassType ValueType: String }
      EDIMLColumn ShelfLife { Attribute: ShelfLife ValueType: Real }
      EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
    }
  }
  EDIODBCLink.Source Source2
  {
    DataIntegrityStrategy: 'Disabled'
    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
    EDIODBCLinkTable MID_PRODUCT
    {
      OthersMayCreateTable: true
      OthersMayDeleteRow: true
      OthersMayDropTable: true
      OthersMayFlushTable: true
      OthersMayInsertRow: true
      Parameters: '/owner="OTD"'
      PrimaryKeyColumns: BUSINESSTYPE
      PrimaryKeyColumns: ID
      RecordModificationHintStrategy: 'None'
      EDIODBCLinkColumn BUSINESSTYPE
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn COMMONBUSINESS
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn COST
      {
        OthersMayUpdateColumn: true
        ValueType: Real
      }
      EDIODBCLinkColumn ENDDATE
      {
        OthersMayUpdateColumn: true
        ValueType: DateTime
      }
      EDIODBCLinkColumn ID
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn INTEGRATIONDEGREE
      {
        OthersMayUpdateColumn: true
        ValueType: Real
      }
      EDIODBCLinkColumn ISCOMMON
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn KEYPRODUCT
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MATERIALFLAG1
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MATERIALFLAG2
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn NAME
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn NOTE
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn NUMBEROFLAYOUTS
      {
        OthersMayUpdateColumn: true
        ValueType: Real
      }
      EDIODBCLinkColumn PRODUCTMAJORTYPE
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn PRODUCTSUBCLASSTYPE
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn SHELFLIFE
      {
        OthersMayUpdateColumn: true
        ValueType: Real
      }
      EDIODBCLinkColumn UNITOFMEAURENAME
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
    }
  }
  EDITransformation.Transformation Transformation2
  {
    EDITableTransformation
    {
      InputTable: MID_PRODUCT
      OutputTable: Global_MappingProduct_MP
      EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
      EDIColumnMatch { InputColumn: COMMONBUSINESS OutputColumn: CommonBusiness }
      EDIColumnMatch
      {
        InputColumn: ENDDATE
        OutputColumn: EndDate
        Converter
        {
          XMLDefinition:
          [*
            <?xml version="1.0" encoding="UTF-16"?>
            <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
              <IsStandard>true</IsStandard>
              <IsISO>false</IsISO>
              <IsCustom>false</IsCustom>
              <ConversionType>0</ConversionType>
            </DateTimeToDate>
          *]
        }
      }
      EDIColumnMatch { InputColumn: ID OutputColumn: ID }
      EDIColumnMatch { InputColumn: ISCOMMON OutputColumn: IsCommon }
      EDIColumnMatch { InputColumn: KEYPRODUCT OutputColumn: KeyProduct }
      EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
      EDIColumnMatch { InputColumn: NOTE OutputColumn: Notes }
      EDIColumnMatch { InputColumn: PRODUCTMAJORTYPE OutputColumn: ProductMajorType }
      EDIColumnMatch { InputColumn: PRODUCTSUBCLASSTYPE OutputColumn: ProductSubclassType }
      EDIColumnMatch { InputColumn: SHELFLIFE OutputColumn: ShelfLife }
      EDIColumnMatch { InputColumn: UNITOFMEAURENAME OutputColumn: UnitOfMeasureName }
    }
  }
}
_Main/BL/EDI/Broker_GlobalOTDTable_SalesSegment_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,92 @@
Quintiq file version 2.0
#parent: #root
EDIBroker GlobalOTDTable_SalesSegment_MP
{
  MDSDefinition: GlobalOTDTable
  TimeZone: 'ACT'
  UseOSTimeZone: false
  EDIModelLink.Destination Destination2
  {
    EDIMLTable Global_MappingSalesSegment_MP
    {
      PrimaryKeyColumns: BusinessType
      PrimaryKeyColumns: Name
      TargetType: Global_MappingSalesSegment_MP
      TypeIndex: TypeIndexBusinessTypeAndName
      EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
      EDIMLColumn DisplayIndex { Attribute: DisplayIndex ValueType: Number }
      EDIMLColumn Name { Attribute: Name ValueType: String }
      EDIMLColumn ParentName { Attribute: ParentName ValueType: String }
    }
  }
  EDIODBCLink.Source Source1
  {
    DataIntegrityStrategy: 'Disabled'
    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
    EDIODBCLinkTable MID_SALESSEGMENT
    {
      OthersMayCreateTable: true
      OthersMayDeleteRow: true
      OthersMayDropTable: true
      OthersMayFlushTable: true
      OthersMayInsertRow: true
      Parameters: '/owner="OTD"'
      PrimaryKeyColumns: BUSINESSTYPE
      PrimaryKeyColumns: NAME
      RecordModificationHintStrategy: 'None'
      EDIODBCLinkColumn BUSINESSTYPE
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn DISPLAYINDEX
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn NAME
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn PARENTNAME
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
    }
  }
  EDITransformation.Transformation Transformation1
  {
    EDITableTransformation
    {
      InputTable: MID_SALESSEGMENT
      OutputTable: Global_MappingSalesSegment_MP
      EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
      EDIColumnMatch
      {
        InputColumn: DISPLAYINDEX
        OutputColumn: DisplayIndex
        Converter
        {
          XMLDefinition:
          [*
            <?xml version="1.0" encoding="UTF-16"?>
            <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
              <IsStandard>true</IsStandard>
              <IsISO>false</IsISO>
              <IsCustom>false</IsCustom>
              <ConversionType>0</ConversionType>
              <NumericFormatString>Standard</NumericFormatString>
              <LocaleString>Chinese (China)</LocaleString>
              <CurrencyString></CurrencyString>
              <CustomFormatString></CustomFormatString>
            </StringToNumber>
          *]
        }
      }
      EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
      EDIColumnMatch { InputColumn: PARENTNAME OutputColumn: ParentName }
    }
  }
}
_Main/BL/EDI/Broker_GlobalOTDTable_UnitOfMeasure_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
Quintiq file version 2.0
#parent: #root
EDIBroker GlobalOTDTable_UnitOfMeasure_MP
{
  MDSDefinition: GlobalOTDTable
  TimeZone: 'ACT'
  UseOSTimeZone: false
  EDIModelLink.Destination Destination1
  {
    EDIMLTable Global_MappingUnitOfMeasure_MP
    {
      PrimaryKeyColumns: Name
      TargetType: Global_MappingUnitOfMeasure_MP
      TypeIndex: TypeIndexName
      EDIMLColumn IsDefault { Attribute: IsDefault ValueType: Boolean }
      EDIMLColumn Name { Attribute: Name ValueType: String }
    }
  }
  EDIODBCLink.Source Source
  {
    DataIntegrityStrategy: 'Disabled'
    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
    EDIODBCLinkTable MID_UNITOFMEASURES
    {
      OthersMayCreateTable: true
      OthersMayDeleteRow: true
      OthersMayDropTable: true
      OthersMayFlushTable: true
      OthersMayInsertRow: true
      Parameters: '/owner="OTD"'
      PrimaryKeyColumns: NAME
      RecordModificationHintStrategy: 'None'
      EDIODBCLinkColumn ISDEFAULT
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn NAME
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
    }
  }
  EDITransformation.Transformation Transformation0
  {
    EDITableTransformation
    {
      InputTable: MID_UNITOFMEASURES
      OutputTable: Global_MappingUnitOfMeasure_MP
      EDIColumnMatch { InputColumn: ISDEFAULT OutputColumn: IsDefault }
      EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
    }
  }
}
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingConversionFactor_Global_MappingConvers.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation GlobalOTDTable_Global_MappingConversionFactor_Global_MappingConversionFactor_GlobalOTDTable
{
  #keys: '1[414702.0.247716835]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide Global_MappingConversionFactor
  {
    #keys: '3[414702.0.247716837][414702.0.247716836][414702.0.247716838]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDTable
    OwningSide: 'Owned'
  }
  RelationSide.RightSide GlobalOTDTable
  {
    #keys: '3[414702.0.247716840][414702.0.247716839][414702.0.247716841]'
    Cardinality: '0to1'
    ObjectDefinition: Global_MappingConversionFactor
    OwningSide: 'Reference'
  }
}
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrencyRate_MP_Global_MappingCurrency.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation GlobalOTDTable_Global_MappingCurrencyRate_MP_Global_MappingCurrencyRate_MP_GlobalOTDTable
{
  #keys: '1[414702.0.247665116]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide Global_MappingCurrencyRate_MP
  {
    #keys: '3[414702.0.247665118][414702.0.247665117][414702.0.247665119]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDTable
    OwningSide: 'Owned'
  }
  RelationSide.RightSide GlobalOTDTable
  {
    #keys: '3[414702.0.247665121][414702.0.247665120][414702.0.247665122]'
    Cardinality: '0to1'
    ObjectDefinition: Global_MappingCurrencyRate_MP
    OwningSide: 'Reference'
  }
}
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrency_MP_Global_MappingCurrency_MP_.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation GlobalOTDTable_Global_MappingCurrency_MP_Global_MappingCurrency_MP_GlobalOTDTable
{
  #keys: '1[414702.0.247705877]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide Global_MappingCurrency_MP
  {
    #keys: '3[414702.0.247705879][414702.0.247705878][414702.0.247705880]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDTable
    OwningSide: 'Owned'
  }
  RelationSide.RightSide GlobalOTDTable
  {
    #keys: '3[414702.0.247705882][414702.0.247705881][414702.0.247705883]'
    Cardinality: '0to1'
    ObjectDefinition: Global_MappingCurrency_MP
    OwningSide: 'Reference'
  }
}
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingProduct_MP_Global_MappingProduct_MP_Gl.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation GlobalOTDTable_Global_MappingProduct_MP_Global_MappingProduct_MP_GlobalOTDTable
{
  #keys: '1[414702.0.247665570]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide Global_MappingProduct_MP
  {
    #keys: '3[414702.0.247665572][414702.0.247665571][414702.0.247665573]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDTable
    OwningSide: 'Owned'
  }
  RelationSide.RightSide GlobalOTDTable
  {
    #keys: '3[414702.0.247665575][414702.0.247665574][414702.0.247665576]'
    Cardinality: '0to1'
    ObjectDefinition: Global_MappingProduct_MP
    OwningSide: 'Reference'
  }
}
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingSalesSegment_MP_Global_MappingSalesSeg.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation GlobalOTDTable_Global_MappingSalesSegment_MP_Global_MappingSalesSegment_MP_GlobalOTDTable
{
  #keys: '1[414702.0.238159190]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide Global_MappingSalesSegment_MP
  {
    #keys: '3[414702.0.238159192][414702.0.238159191][414702.0.238159193]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDTable
    OwningSide: 'Owned'
  }
  RelationSide.RightSide GlobalOTDTable
  {
    #keys: '3[414702.0.238159195][414702.0.238159194][414702.0.238159196]'
    Cardinality: '0to1'
    ObjectDefinition: Global_MappingSalesSegment_MP
    OwningSide: 'Reference'
  }
}
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingStockingPoint_MP_Global_MappingStockin.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation GlobalOTDTable_Global_MappingStockingPoint_MP_Global_MappingStockingPoint_MP_GlobalOTDTable
{
  #keys: '1[414702.0.239762044]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide Global_MappingStockingPoint_MP
  {
    #keys: '3[414702.0.239762046][414702.0.239762045][414702.0.239762047]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDTable
    OwningSide: 'Owned'
  }
  RelationSide.RightSide GlobalOTDTable
  {
    #keys: '3[414702.0.239762049][414702.0.239762048][414702.0.239762050]'
    Cardinality: '0to1'
    ObjectDefinition: Global_MappingStockingPoint_MP
    OwningSide: 'Reference'
  }
}
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingUnitOfMeasure_MP_Global_MappingUnitOfM.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation GlobalOTDTable_Global_MappingUnitOfMeasure_MP_Global_MappingUnitOfMeasure_MP_GlobalOTDTable
{
  #keys: '1[414702.0.238140119]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide Global_MappingUnitOfMeasure_MP
  {
    #keys: '3[414702.0.238140121][414702.0.238140120][414702.0.238140122]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDTable
    OwningSide: 'Owned'
  }
  RelationSide.RightSide GlobalOTDTable
  {
    #keys: '3[414702.0.238140124][414702.0.238140123][414702.0.238140125]'
    Cardinality: '0to1'
    ObjectDefinition: Global_MappingUnitOfMeasure_MP
    OwningSide: 'Reference'
  }
}
_Main/BL/Type_GlobalDTOTable/Method_ApiBuildPostRequestBody.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
Quintiq file version 2.0
#parent: #root
Method ApiBuildPostRequestBody (
  String bodynumber
) as String
{
  TextBody:
  [*
    // Administrator Aug-18-2023 (created)
    postrequestbody := JSON::Object()
                        .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber )
                        .Add( "fromSystemCode", "OTDH000" + bodynumber )
                        .Add( "toInterfaceCode", "QIDH000" + bodynumber )
                        .Add( "ouZone", "OU_TMSH" )
                        .Add( "uuid", "1617355496bb588e353e80147eea5f45" )
                        .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) )
                        .Add( "dataType", "JSON" )
                        .Add( "data", JSON::Object()
                                      .Add( "pageIndex", "1" ) ).Build();
    info( DateTime::Now().Format( "Y-M2-D2 H:m:s" ) );
    postrequestbodystring := postrequestbody.AsString();
    return postrequestbodystring;
  *]
}
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizationAllMappingBrokerAndAPI (
  MacroPlan macroPlan,
  GlobalOTDTable globalOTDTable
)
{
  TextBody:
  [*
    //globalOTDTable.GlobalOTDTable_UnitOfMeasure_MP().Execute();
    //globalOTDTable.GlobalOTDTable_SalesSegment_MP().Execute();
    //Global_MappingStockingPoint_MP::CreateByAPI( globalOTDTable );
    //Global_MappingCurrency_MP::CreateByAPI( globalOTDTable );
    //Global_MappingCurrencyRate_MP::CreateByAPI( globalOTDTable );
    //globalOTDTable.GlobalOTDTable_Product_MP().Execute();
    //globalOTDTable.GlobalOTDTable_ConversionFactor().Execute();
  *]
}
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationSalesSegment_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizationSalesSegment_MP (
  MacroPlan macroPlan,
  GlobalOTDTable globalOTDTable,
  Strings businessTypes
)
{
  TextBody:
  [*
    businessType := businessTypes.Element( 0 );
    targetGlobal_MappingSalesSegment_MPs := selectsortedset( globalOTDTable,
                                                             Global_MappingSalesSegment_MP,
                                                             tempGMSSMP,
                                                             tempGMSSMP.BusinessType() = businessType,
                                                             tempGMSSMP.DisplayIndex()
                                                            );
    maxLevel := 0;
    traverse ( targetGlobal_MappingSalesSegment_MPs, Elements, gmssmp ) {
      targetParentSalesSegment_MP := select( macroPlan, SalesSegment_MP, tempSSMP, tempSSMP.Name() = gmssmp.ParentName() );
      SalesSegment_MP::Create( macroPlan, targetParentSalesSegment_MP, gmssmp.Name(), gmssmp.DisplayIndex(), false );
      maxLevel := maxvalue( maxLevel, gmssmp.DisplayIndex() );
    }
    for ( i := 1; i <= maxLevel; i++ ) {
      SalesLevel_MP::Create( [String]i, macroPlan, false );
    }
  *]
}
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationStockingPoint_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizationStockingPoint_MP (
  MacroPlan macroPlan,
  GlobalOTDTable globalOTDTable
)
{
}
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationUnitOfMeasure_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizationUnitOfMeasure_MP (
  MacroPlan macroPlan,
  GlobalOTDTable globalOTDTable
)
{
  TextBody:
  [*
    info( "初始化完成, å¼€å§‹æ‰§è¡Œ UnitOfMeasure_MP Data Broker" );
    //globalOTDTable.GlobalOTDTable_UnitOfMeasure_MP().Execute();
    info( "UnitOfMeasure_MP Data Broker æ‰§è¡Œå®Œæˆ, Start UnitOfMeasure_MP Mapping" )
    traverse ( globalOTDTable, Global_MappingUnitOfMeasure_MP, tempGMUOMMP, true ) {
      if ( isnull( UnitOfMeasure_MP::FindByName( macroPlan, tempGMUOMMP.Name() ) ) ) {
        targetUnitOfMeasure_MP := UnitOfMeasure_MP::Create( macroPlan, tempGMUOMMP.Name(), false, false );
        if ( tempGMUOMMP.IsDefault() ) {
          targetUnitOfMeasure_MP.SetAsDefault();
        }
      }
    }
  *]
}
_Main/BL/Type_Global_MappingConversionFactor/Attribute_Factor.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Factor
{
  #keys: '3[414702.0.247716851][414702.0.247716850][414702.0.247716852]'
  ValueType: Real
}
_Main/BL/Type_Global_MappingConversionFactor/Attribute_IsEnabled.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute IsEnabled
{
  #keys: '3[414702.0.247716861][414702.0.247716860][414702.0.247716862]'
  IsReadOnly: true
  ValueType: Boolean
}
_Main/BL/Type_Global_MappingConversionFactor/Attribute_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductID
{
  #keys: '3[414702.0.247716871][414702.0.247716870][414702.0.247716872]'
  IsReadOnly: true
  ValueType: String
}
_Main/BL/Type_Global_MappingConversionFactor/Attribute_SourceUnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute SourceUnitOfMeasureName
{
  #keys: '3[414702.0.247716881][414702.0.247716880][414702.0.247716882]'
  IsReadOnly: true
  ValueType: String
}
_Main/BL/Type_Global_MappingConversionFactor/Attribute_TargetUnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute TargetUnitOfMeasureName
{
  #keys: '3[414702.0.247716891][414702.0.247716890][414702.0.247716892]'
  IsReadOnly: true
  ValueType: String
}
_Main/BL/Type_Global_MappingConversionFactor/TypeIndex_TypeIndex.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: #root
TypeIndex TypeIndex
{
  Attributes:
  [
    TypeIndexAttribute
    {
      ModelElement: IsEnabled
    }
    TypeIndexAttribute
    {
      ModelElement: ProductID
    }
    TypeIndexAttribute
    {
      ModelElement: SourceUnitOfMeasureName
    }
    TypeIndexAttribute
    {
      ModelElement: TargetUnitOfMeasureName
    }
  ]
}
_Main/BL/Type_Global_MappingConversionFactor/_ROOT_Type_Global_MappingConversionFactor.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type Global_MappingConversionFactor
{
  #keys: '5[414702.0.247716832][414702.0.247716830][0.0.0][414702.0.247716831][414702.0.247716833]'
  BaseType: Object
  StructuredName: 'Global_MappingConversionFactors'
}
_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_CurrencyID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute CurrencyID
{
  #keys: '3[414702.0.247706552][414702.0.247706551][414702.0.247706553]'
  ValueType: String
}
_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Rate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Rate
{
  #keys: '3[414702.0.247706562][414702.0.247706561][414702.0.247706563]'
  ValueType: Real
}
_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Start.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Start
{
  #keys: '3[414702.0.247706575][414702.0.247706574][414702.0.247706576]'
  ValueType: Date
}
_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateByAPI (
  GlobalOTDTable globalOTDTable
)
{
  TextBody:
  [*
    globalOTDTable.Global_MappingCurrencyRate_MP( relflush );
    bodynumber := "5";
    postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
    address := "api-uat-sgc.tianma.cn";
    url := "/otdService/https/GetCurrencyRatesInfo";
    port := 443;
    i := HTTPInterface::Create( address, port);
    i.URL( url );
    i.SSL( true );
    i.SSLKeystore( "MyKeystore" );
    i.PostMethod( true ); //it's a POST method
    i.Call( postrequestbody ); // Call's argument is for POST method's content.
    htmlresult := i.Result();
    htmlresponse := JSON::Parse( htmlresult );
    reponseDataJson := htmlresponse.Get( "responseData" );
    datalist := reponseDataJson.Get( "dataList" );
    cnv2 := StringToDate::StandardConverter();
    cnv2.SetCustomConversion();
    cnv2.CustomFormatString( 'yyyy-MM-dd' );
    total := datalist.Size();
    for ( j := 0; j < total; j++ ) {
      globalOTDTable.Global_MappingCurrencyRate_MP( relnew,
                                                    CurrencyID := guard( datalist.Get( j ).Get( "currencyid" ).GetString(), "" ),
                                                    Rate       := guard( [Real]datalist.Get( j ).Get( "rate" ).GetString(), 0.0 ),
                                                    Start      := guard( cnv2.Convert( datalist.Get( j ).Get( "start" ).GetString() ), Date::MinDate() )
                                                   );
    }
  *]
}
_Main/BL/Type_Global_MappingCurrencyRate_MP/_ROOT_Type_Global_MappingCurrencyRate_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type Global_MappingCurrencyRate_MP
{
  #keys: '5[414702.0.247665113][414702.0.247665111][0.0.0][414702.0.247665112][414702.0.247665114]'
  BaseType: Object
  StructuredName: 'Global_MappingCurrencyRate_MPs'
}
_Main/BL/Type_Global_MappingCurrency_MP/Attribute_ID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ID
{
  #keys: '3[414702.0.247705924][414702.0.247705923][414702.0.247705925]'
  ValueType: String
}
_Main/BL/Type_Global_MappingCurrency_MP/Attribute_IsBase.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute IsBase
{
  #keys: '3[414702.0.247664837][414702.0.247664836][414702.0.247664838]'
  ValueType: Boolean
}
_Main/BL/Type_Global_MappingCurrency_MP/Attribute_Name.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Name
{
  #keys: '3[414702.0.247664827][414702.0.247664826][414702.0.247664828]'
  ValueType: String
}
_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateByAPI (
  GlobalOTDTable globalOTDTable
)
{
  TextBody:
  [*
    globalOTDTable.Global_MappingCurrency_MP( relflush );
    bodynumber := "1";
    postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
    address := "api-uat-sgc.tianma.cn";
    url := "/otdService/https/GetCurrenciesInfo";
    port := 443;
    i := HTTPInterface::Create( address, port);
    i.URL( url );
    i.SSL( true );
    i.SSLKeystore( "MyKeystore" );
    i.PostMethod( true ); //it's a POST method
    i.Call( postrequestbody ); // Call's argument is for POST method's content.
    htmlresult := i.Result();
    htmlresponse := JSON::Parse( htmlresult );
    reponseDataJson := htmlresponse.Get( "responseData" );
    datalist := reponseDataJson.Get( "dataList" );
    total := datalist.Size();
    for ( j := 0; j < total; j++ ) {
      globalOTDTable.Global_MappingCurrency_MP( relnew,
                                                ID     := guard( datalist.Get( j ).Get( "id" ).GetString(), "" ),
                                                Name   := guard( datalist.Get( j ).Get( "name" ).GetString(), "" ),
                                                IsBase := guard( datalist.Get( j ).Get( "isbase" ).GetBoolean(), false )
                                               );
    }
  *]
}
_Main/BL/Type_Global_MappingCurrency_MP/_ROOT_Type_Global_MappingCurrency_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type Global_MappingCurrency_MP
{
  #keys: '5[414702.0.247705874][414702.0.247705872][0.0.0][414702.0.247705873][414702.0.247705875]'
  BaseType: Object
  StructuredName: 'Global_MappingCurrency_MPs'
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_BusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute BusinessType
{
  #keys: '3[414702.0.247710960][414702.0.247710959][414702.0.247710961]'
  IsReadOnly: true
  ValueType: String
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_CommonBusiness.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute CommonBusiness
{
  #keys: '3[414702.0.247710970][414702.0.247710969][414702.0.247710971]'
  ValueType: String
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_EndDate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute EndDate
{
  #keys: '3[414702.0.247710980][414702.0.247710979][414702.0.247710981]'
  ValueType: Date
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ID
{
  #keys: '3[414702.0.247710990][414702.0.247710989][414702.0.247710991]'
  IsReadOnly: true
  ValueType: String
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_IsCommon.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute IsCommon
{
  #keys: '3[414702.0.247711000][414702.0.247710999][414702.0.247711001]'
  ValueType: Boolean
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_KeyProduct.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute KeyProduct
{
  #keys: '3[414702.0.247711010][414702.0.247711009][414702.0.247711011]'
  ValueType: Boolean
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_Name.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Name
{
  #keys: '3[414702.0.247711020][414702.0.247711019][414702.0.247711021]'
  ValueType: String
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_Notes.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Notes
{
  #keys: '3[414702.0.247711030][414702.0.247711029][414702.0.247711031]'
  ValueType: String
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductMajorType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductMajorType
{
  #keys: '3[414702.0.247711040][414702.0.247711039][414702.0.247711041]'
  ValueType: String
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductSubclassType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductSubclassType
{
  #keys: '3[414702.0.247711050][414702.0.247711049][414702.0.247711051]'
  ValueType: String
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ShelfLife.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ShelfLife
{
  #keys: '3[414702.0.247711060][414702.0.247711059][414702.0.247711061]'
  ValueType: Real
}
_Main/BL/Type_Global_MappingProduct_MP/Attribute_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute UnitOfMeasureName
{
  #keys: '3[414702.0.247711070][414702.0.247711069][414702.0.247711071]'
  ValueType: String
}
_Main/BL/Type_Global_MappingProduct_MP/TypeIndex_TypeIndexIDAndBusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: #root
TypeIndex TypeIndexIDAndBusinessType
{
  Attributes:
  [
    TypeIndexAttribute
    {
      ModelElement: ID
    }
    TypeIndexAttribute
    {
      ModelElement: BusinessType
    }
  ]
}
_Main/BL/Type_Global_MappingProduct_MP/_ROOT_Type_Global_MappingProduct_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type Global_MappingProduct_MP
{
  #keys: '5[414702.0.247665567][414702.0.247665565][0.0.0][414702.0.247665566][414702.0.247665568]'
  BaseType: Object
  StructuredName: 'Global_MappingProduct_MPs'
}
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_BusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute BusinessType
{
  #keys: '3[414702.0.238159206][414702.0.238159205][414702.0.238159207]'
  IsReadOnly: true
  ValueType: String
}
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_DisplayIndex.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute DisplayIndex
{
  #keys: '3[414702.0.238159219][414702.0.238159218][414702.0.238159220]'
  ValueType: Number
}
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_Name.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute Name
{
  #keys: '3[414702.0.238159229][414702.0.238159228][414702.0.238159230]'
  IsReadOnly: true
  ValueType: String
}
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_ParentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ParentName
{
  #keys: '3[414702.0.238159239][414702.0.238159238][414702.0.238159240]'
  ValueType: String
}
_Main/BL/Type_Global_MappingSalesSegment_MP/TypeIndex_TypeIndexBusinessTypeAndName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: #root
TypeIndex TypeIndexBusinessTypeAndName
{
  Attributes:
  [
    TypeIndexAttribute
    {
      ModelElement: BusinessType
    }
    TypeIndexAttribute
    {
      ModelElement: Name
    }
  ]
}
_Main/BL/Type_Global_MappingSalesSegment_MP/_ROOT_Type_Global_MappingSalesSegment_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type Global_MappingSalesSegment_MP
{
  #keys: '5[414702.0.238159187][414702.0.238159185][0.0.0][414702.0.238159186][414702.0.238159188]'
  BaseType: Object
  StructuredName: 'Global_MappingSalesSegment_MPs'
}
_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_Name.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Name
{
  #keys: '3[414702.0.247664695][414702.0.247664694][414702.0.247664696]'
  ValueType: String
}
_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_UnitID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute UnitID
{
  #keys: '3[414702.0.247664705][414702.0.247664704][414702.0.247664706]'
  ValueType: String
}
_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_id.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ID
{
  #keys: '3[414702.0.247705763][414702.0.247705762][414702.0.247705764]'
  ValueType: String
}
_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateByAPI (
  GlobalOTDTable globalOTDTable
)
{
  TextBody:
  [*
    globalOTDTable.Global_MappingStockingPoint_MP( relflush );
    bodynumber := "2";
    postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
    address := "api-uat-sgc.tianma.cn";
    url := "/otdService/https/GetStockingPointsInfo";
    port := 443;
    i := HTTPInterface::Create( address, port);
    i.URL( url );
    i.SSL( true );
    i.SSLKeystore( "MyKeystore" );
    i.PostMethod( true ); //it's a POST method
    i.Call( postrequestbody ); // Call's argument is for POST method's content.
    htmlresult := i.Result();
    htmlresponse := JSON::Parse( htmlresult );
    reponseDataJson := htmlresponse.Get( "responseData" );
    datalist := reponseDataJson.Get( "dataList" );
    total := datalist.Size();
    for ( j := 0; j < total; j++ ) {
      globalOTDTable.Global_MappingStockingPoint_MP( relnew,
                                                     ID     := guard( datalist.Get( j ).Get( "id" ).GetString(), "" ),
                                                     Name   := guard( datalist.Get( j ).Get( "name" ).GetString(), "" ),
                                                     UnitID := guard( datalist.Get( j ).Get( "unitid" ).GetString(), "" )
                                                    );
    }
  *]
}
_Main/BL/Type_Global_MappingStockingPoint_MP/_ROOT_Type_Global_MappingStockingPoint_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type Global_MappingStockingPoint_MP
{
  #keys: '5[414702.0.239762041][414702.0.239762039][0.0.0][414702.0.239762040][414702.0.239762042]'
  BaseType: Object
  StructuredName: 'Global_MappingStockingPoint_MPs'
}
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_IsDefault.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute IsDefault
{
  #keys: '3[414702.0.238140135][414702.0.238140134][414702.0.238140136]'
  ValueType: Boolean
}
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_Name.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute Name
{
  #keys: '3[414702.0.238140145][414702.0.238140144][414702.0.238140146]'
  IsReadOnly: true
  ValueType: String
}
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/TypeIndex_TypeIndexName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
Quintiq file version 2.0
#parent: #root
TypeIndex TypeIndexName
{
  Attributes:
  [
    TypeIndexAttribute
    {
      ModelElement: Name
    }
  ]
}
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/_ROOT_Type_Global_MappingUnitOfMeasure_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type Global_MappingUnitOfMeasure_MP
{
  #keys: '5[414702.0.238140113][414702.0.238140111][0.0.0][414702.0.238140112][414702.0.238140114]'
  BaseType: Object
  StructuredName: 'Global_MappingUnitOfMeasure_MPs'
}
_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl
@@ -6,105 +6,51 @@
  [*
    // Administrator Sep-1-2023 (created)
    
    unitOfMeasure_MP := UnitOfMeasure_MP::FindByName( this, "PCS" );
    if ( isnull( unitOfMeasure_MP ) ) {
      unitOfMeasure_MP := UnitOfMeasure_MP::Create( this, "PCS", false, false );
    }
    //Set the Default values
    unitofmeasurename := "PCS";
    currencyid := "CNY";
    startdate := Date::Date( 1900, 1, 1 );
    enddate := Date::Date( 9999, 12, 31 );
    capacitytype := "Transport quantity";
    
    if( isnull( Unit::FindById( this, "空运" ) ) ){
      this.Unit( relnew,
                 ID := "空运",
                 Name := "空运",
                 UnitOfMeasureName := unitofmeasurename,
                 CurrencyID := currencyid,
                 StartDate := startdate,
                 EndDate := enddate,
                 CapacityType := capacitytype );
      }
    if ( isnull( Unit::FindById( this, "空运" ) ) ) {
      Unit::Create( "空运", this, "空运", unitOfMeasure_MP, null( Unit ), capacitytype, "", null( SupplyChainView ), 0, 0, false );
    }
    
    if( isnull( Unit::FindById( this, "库存事务处理" ) ) ){
      this.Unit( relnew,
                 ID := "库存事务处理",
                 Name := "库存事务处理",
                 UnitOfMeasureName := unitofmeasurename,
                 CurrencyID := currencyid,
                 StartDate := startdate,
                 EndDate := enddate,
                 CapacityType := capacitytype );
    if ( isnull( Unit::FindById( this, "库存事务处理" ) ) ) {
      Unit::Create( "库存事务处理", this, "库存事务处理", unitOfMeasure_MP, null( Unit ), capacitytype, "", null( SupplyChainView ), 0, 0, false );
    }
    
    unitofmeasurename := "PCS";
    name := "手动创建库存点";
    currencyname := "CNY";
    isplannedinfinite := false;
    datestart := Date::Construct(1900, 1, 1) ;
    dateend := Date::Construct(9999, 12, 31);
    groupname := " ";
    description := " ";
    isfromdb := true;
    
    if( isnull( StockingPoint_MP::FindById( this, "F13_FG_STOCK" ) ) ){
      StockingPoint_MP::Create( this,
                                "F13_FG_STOCK",
                                "F13",
                                name,
                                unitofmeasurename,
                                currencyname,
                                isplannedinfinite,
                                datestart,
                                dateend,
                                groupname,
                                description,
                                isfromdb );
    if ( isnull( StockingPoint_MP::FindById( this, "F13_FG_STOCK" ) ) ) {
      StockingPoint_MP::Create( "F13_FG_STOCK", this, null( Unit ), "F13_FG_STOCK", null( SupplyChainView ), 0, 0, false );
    }
    
    if( isnull( StockingPoint_MP::FindById( this, "H10_SA_STOCK" ) ) ){
      StockingPoint_MP::Create( this,
                                "H10_SA_STOCK",
                                "H10",
                                name,
                                unitofmeasurename,
                                currencyname,
                                isplannedinfinite,
                                datestart,
                                dateend,
                                groupname,
                                description,
                                isfromdb );
    if ( isnull( StockingPoint_MP::FindById( this, "H10_SA_STOCK" ) ) ) {
      StockingPoint_MP::Create( "H10_SA_STOCK", this, null( Unit ), "H10_SA_STOCK", null( SupplyChainView ), 0, 0, false );
    }
    
    if( isnull( StockingPoint_MP::FindById( this, "Q10_FG_STOCK" ) ) ){
      StockingPoint_MP::Create( this,
                                "Q10_FG_STOCK",
                                "Q10",
                                name,
                                unitofmeasurename,
                                currencyname,
                                isplannedinfinite,
                                datestart,
                                dateend,
                                groupname,
                                description,
                                isfromdb );
    if ( isnull( StockingPoint_MP::FindById( this, "Q10_FG_STOCK" ) ) ) {
      StockingPoint_MP::Create( "Q10_FG_STOCK", this, null( Unit ), "Q10_FG_STOCK", null( SupplyChainView ), 0, 0, false );
    }
    
    existcurrency := Currency_MP::FindById( this, "CNY" );
    if( isnull( existcurrency ) ){
      Currency_MP::CreateCurrency( this, "CNY", "CNY", "", true );
      currency := Currency_MP::FindById( this, "EUR" );
      currency.IsBase(false);
      Transaction::Transaction().Propagate();
      }
    if ( isnull( Currency_MP::FindById( this, "CNY" ) ) ) {
      Currency_MP::Create( "CNY", this, "CNY", "", false, false );
    }
    
    isproductcatagory := false;
    isfromdb := false;
    existproductlevel := ProductLevel_MP::FindProductLevelTypeIndex( "2" );
    if( isnull( existproductlevel ) ){
    if ( isnull( ProductLevel_MP::FindProductLevelTypeIndex( "1" ) ) ) {
      ProductLevel_MP::Create( "1", isproductcatagory, this, isfromdb );
    }
    if ( isnull( ProductLevel_MP::FindProductLevelTypeIndex( "2" ) ) ) {
      ProductLevel_MP::Create( "2", isproductcatagory, this, isfromdb );
    }
    if ( isnull( ProductLevel_MP::FindProductLevelTypeIndex( "3" ) ) ) {
      ProductLevel_MP::Create( "3", isproductcatagory, this, isfromdb );
      }
    }
  *]
}
_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Component_SplitterWndScenarioManager.def
@@ -5,9 +5,122 @@
  [
    Component SplitterPaneScenario #extension
    {
      GBLayout
      {
        Type: 'internal[GBLayoutDefinition]'
        Columns:
        [
          GBFlow.Column { grow: 0 id: 9 parent: 0 }
          GBFlow.Column { grow: 0 id: 22 parent: 0 }
          GBFlow.Column { grow: 0 id: 35 parent: 0 }
          GBFlow.Column { grow: 0 id: 37 parent: 0 }
          GBFlow.Column { grow: 0 id: 24 parent: 0 }
          GBFlow.Column { grow: 0 id: 138 parent: 0 }
          GBFlow.Column { grow: 0 id: 588 parent: 0 }
          GBFlow.Column { grow: 0 id: 780 parent: 0 }
          GBFlow.Column { grow: 0 id: 508 parent: 0 }
          GBFlow.Column { grow: 128 id: 27 parent: 0 }
        ]
        Elements:
        [
          GBElement
          {
            Component => /SplitterWnd1
            Position { startcolumn: 9 startrow: 2 endcolumn: 27 endrow: 2 }
          }
          GBElement
          {
            Component => ButtonRefreshKPIs
            Position { startcolumn: 9 startrow: 5 endcolumn: 9 endrow: 5 }
          }
          GBElement
          {
            Component => LabelImportExportStatusTitle
            Position { startcolumn: 22 startrow: 5 endcolumn: 22 endrow: 5 }
          }
          GBElement
          {
            Component => LabelLastDataExchangeDate
            Position { startcolumn: 24 startrow: 5 endcolumn: 24 endrow: 5 }
          }
          GBElement
          {
            Component => LabelLastDataExchangeAction
            Position { startcolumn: 35 startrow: 5 endcolumn: 35 endrow: 5 }
          }
          GBElement
          {
            Component => LabelActionOn
            Position { startcolumn: 37 startrow: 5 endcolumn: 37 endrow: 5 }
          }
          GBElement
          {
            Component => ButtonCreateScenariosFromDatasets
            Position { startcolumn: 138 startrow: 5 endcolumn: 138 endrow: 5 }
          }
          GBElement
          {
            Component => ButtonRefreshScenarios
            Position { startcolumn: 588 startrow: 5 endcolumn: 588 endrow: 5 }
          }
          GBElement
          {
            Component: 'Button897'
            Position { startcolumn: 780 startrow: 5 endcolumn: 780 endrow: 5 }
          }
          GBElement
          {
            Component: 'Button482'
            Position { startcolumn: 508 startrow: 5 endcolumn: 508 endrow: 5 }
          }
        ]
        Gaps: [ left: 0 right: 0 top: 0 bottom: 0 inner: 5 ]
        Rows:
        [
          GBFlow.Row { grow: 0 id: 5 parent: 0 }
          GBFlow.Row { grow: 128 id: 2 parent: 0 }
        ]
      }
      Children:
      [
        #child: SplitterWnd1
        Component Button897
        {
          #keys: '[414702.0.239704572]'
          BaseType: 'Button'
          Properties:
          [
            Image: 'BIRD'
            LayoutGroup: 'Button0'
            Text: '执行全局代理'
          ]
        }
        Component Button482
        {
          #keys: '[414702.0.239704587]'
          BaseType: 'Button'
          Properties:
          [
            LayoutGroup: 'Button0'
            Text: 'Button'
          ]
        }
      ]
      Properties:
      [
        ModeledStringList ChildOrdering
        {
          c: ButtonRefreshKPIs
          c: LabelImportExportStatusTitle
          c: ButtonCreateScenariosFromDatasets
          c: LabelLastDataExchangeAction
          c: SplitterWnd1
          c: LabelLastDataExchangeDate
          c: LabelActionOn
          c: ButtonRefreshScenarios
          c: Button897
          c: Button482
        }
      ]
    }
  ]
_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
Quintiq file version 2.0
#parent: SplitterWndScenarioManager/Button897
Response OnClick () id:Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick
{
  #keys: '[414702.0.239704677]'
  Body:
  [*
    GlobalOTDTable::SynchronizationAllMappingBroker( MacroPlan, GlobalOTDTable );
  *]
  CanBindMultiple: false
  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
}
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_CopyScenario.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
Quintiq file version 2.0
#parent: #root
Method CopyScenario (
  ScenarioMP source
) id:Method_DialogCreateEditScenario_CopyScenario #extension
{
  Body:
  [*
    // Copy scenario
    scenario := ScenarioManager.ScenarioNode( relshadow,
                                              ScenarioMP,
                                              Parent := source,
                                              Name := ScenarioManager.GetUniqueScenarioName( source.Name() ),
                                              SelectedStrategy := source.SelectedStrategy(),
                                              State := source.State() );
    DataHolderActionCopy.Data( true );
    DataHolderDialogData.Data( &scenario );
    // do not distribute
    DataHolderDialogData.Data().EnableSync( false );
    checkboxEnableSync.Visible( false );
    dropDownStringListGeneral.Visible( false );
    checkboxIsKeyProduct.Visible( false );
    checkboxCreatePurchaseSupplyProduct.Visible( false );
    ApplicationMacroPlanner.ShowFormModal( this );
  *]
}