Number sequence class in D365fo x++

Number sequence class in D365fo x++

class NumberSeqModuleDSProperty extends NumberSeqApplicationModule { public NumberSeqModule numberSeqModule() { return NumberSeqModule::DSPMProperty; } [SubscribesTo(classstr(NumberSeqGlobal),delegatestr(NumberSeqGlobal,buildModulesMapDelegate))] static void buildModulesMapSubsciber(Map numberSeqModuleNamesMap) { NumberSeqGlobal::addModuleToMap(classnum(NumberSeqModuleDSProperty), numberSeqModuleNamesMap); } protected void loadModule() { NumberSeqDatatype datatype = NumberSeqDatatype::construct(); datatype.parmDatatypeId(extendedTypeNum(DSPMReferenceNo)); datatype.parmReferenceHelp(literalStr("Unique key used for the Ref#.")); datatype.parmWizardIsContinuous(false); datatype.parmWizardIsManual(NoYes::No); datatype.parmWizardIsChangeDownAllowed(NoYes::No); datatype.parmWizardIsChangeUpAllowed(NoYes::No); datatype.parmWizardHighest(999999); datatype.parmSortField(1); datatype.addParameterType(NumberSeqParameterType::DataArea, true, false); this.create(datatype); datatype.parmDatatypeId(extendedTypeNum(DSPMSettlementId)); datatype.parmReferenceHelp(literalStr("Unique key used for the Settlement Id.")); datatype.parmWizardIsContinuous(false); datatype.parmWizardIsManual(NoYes::No); datatype.parmWizardIsChangeDownAllowed(NoYes::No); datatype.parmWizardIsChangeUpAllowed(NoYes::No); datatype.parmWizardHighest(999999); datatype.parmSortField(1); datatype.addParameterType(NumberSeqParameterType::DataArea, true, false); this.create(datatype); datatype.parmDatatypeId(extendedTypeNum(DSPMPaymentId)); datatype.parmReferenceHelp(literalStr("Unique key used for the payments.")); datatype.parmWizardIsContinuous(false); datatype.parmWizardIsManual(NoYes::No); datatype.parmWizardIsChangeDownAllowed(NoYes::No); datatype.parmWizardIsChangeUpAllowed(NoYes::No); datatype.parmWizardHighest(999999); datatype.parmSortField(1); datatype.addParameterType(NumberSeqParameterType::DataArea, true, false); this.create(datatype); datatype.parmDatatypeId(extendedTypeNum(DSPMLeadId)); datatype.parmReferenceHelp(literalStr("Unique key used for the property Lead Id.")); datatype.parmWizardIsContinuous(false); datatype.parmWizardIsManual(NoYes::No); datatype.parmWizardIsChangeDownAllowed(NoYes::No); datatype.parmWizardIsChangeUpAllowed(NoYes::No); datatype.parmWizardHighest(999999); datatype.parmSortField(1); datatype.addParameterType(NumberSeqParameterType::DataArea, true, false); this.create(datatype); datatype.parmDatatypeId(extendedTypeNum(DSPMContractId)); datatype.parmReferenceHelp(literalStr("Unique key used for the Contract Num.")); datatype.parmWizardIsContinuous(false); datatype.parmWizardIsManual(NoYes::No); datatype.parmWizardIsChangeDownAllowed(NoYes::No); datatype.parmWizardIsChangeUpAllowed(NoYes::No); datatype.parmWizardHighest(999999); datatype.parmSortField(1); datatype.addParameterType(NumberSeqParameterType::DataArea, true, false); this.create(datatype); datatype.parmDatatypeId(extendedTypeNum(DSPMQuotationId)); datatype.parmReferenceHelp(literalStr("Unique key used for the property Quotation Id.")); datatype.parmWizardIsContinuous(false); datatype.parmWizardIsManual(NoYes::No); datatype.parmWizardIsChangeDownAllowed(NoYes::No); datatype.parmWizardIsChangeUpAllowed(NoYes::No); datatype.parmWizardHighest(999999); datatype.parmSortField(1); datatype.addParameterType(NumberSeqParameterType::DataArea, true, false); this.create(datatype); datatype.parmDatatypeId(extendedTypeNum(DSPMReservationId)); datatype.parmReferenceHelp(literalStr("Unique key used for the Reservation.")); datatype.parmWizardIsContinuous(false); datatype.parmWizardIsManual(NoYes::No); datatype.parmWizardIsChangeDownAllowed(NoYes::No); datatype.parmWizardIsChangeUpAllowed(NoYes::No); datatype.parmWizardHighest(999999); datatype.parmSortField(1); datatype.addParameterType(NumberSeqParameterType::DataArea, true, false); this.create(datatype); } }

 DataSource Part: 

NumberSeqFormHandler numberSeqFormHandler() { NumberSeqFormHandler numberSeqFormHandler; if (!numberSeqFormHandler) { numberSeqFormHandler = NumberSeqFormHandler::newForm(ProjParameters::numRefMaterialRequisitionNo().NumberSequenceId,element,PWC_MRHeader_ds,fieldNum(PWC_MRHeader,MaterialRequisitionNumber)); } return numberSeqFormHandler; } public void close() { NumberSeqFormHandler numberSeqFormHandler; if(NumberSeqFormHandler) { numberSeqFormHandler.formMethodClose(); } super(); } [DataSource] class PWC_MRHeader { public void linkActive() { element.numberSeqFormHandler().formMethodDataSourceLinkActive(); super(); } public void delete() { element.numberSeqFormHandler().formMethodDataSourceDelete(); super(); } public void write() { element.numberSeqFormHandler().formMethodDataSourceWrite(); super(); } public boolean validateWrite() { boolean ret; ret = super(); ret = element.numberSeqFormHandler().formMethodDataSourceValidateWrite(ret) && ret; return ret; } public void create(boolean _append = false) { element.numberSeqFormHandler().formMethodDataSourceCreatePre(); super(_append); element.numberSeqFormHandler().formMethodDataSourceCreate(); }

Comments

Popular posts from this blog

D365FO – AX – X++ –Refresh, Reread, Research, and ExecuteQuery

Create Inventory Journal through Code in D365FO X++

SalesLine Reservation in D365fo x++