Você está na página 1de 3

Criando uma seqncia numrica para uma nova tabela.

Ao criar uma nova tabela no Microsoft Dynamics AX 4.0 um dos campos criados devero ser uma seqncia numrica, ou seja, o campo tem q ter os valores automticos, impedindo assim o usurio a criar qualquer seqncia, e tornar aqueles dados em algo padro. Seguindo os passos a seguir voc ter criado sua seqncia numrica: 1 - Construir um ExtendedDataType. 2 - Atribuir esse ExtendedDataType para o campo que ir receber a seqncia numrica. 3 - Adicionar a seguinte linha de cdigo na classe: Classes\NumberSeqReference_SeuModuloAtual\loadModule(). numRef.DataTypeId = typeId2ExtendedTypeId(typeid(Nome do EDT Criado No passo 1)); numRef.ConfigurationKeyId = configurationkeynum(Sua Config Key); // Any Configuration key you made numRef.ReferenceHelp = literalstr("Sua Label."); numRef.WizardContinuous = true; numRef.WizardManual = NoYes::No; numRef.WizardAllowChangeDown = NoYes::No; numRef.WizardAllowChangeUp = NoYes::No; numRef.SortField = 12; numRef.WizardHighest = 999999; this.create(numRef); Feito isso voc dever ter a seguinte imagem em seu desenvolvimento:

4 Em seguida voc ir ter que criar um mtodo para essa sua nova seqncia. V ao caminho: \Data Dictionary\Tables\SalesParameters\Methods Crie um novo mtodo com o seguinte nome: numRefO_NOME_DO_SEU_EDT static client server NumberSequenceReference numRefO_NOME_DO_SEU_EDT() {
return NumberSeqReference::findReference(typeId2ExtendedTypeId(typeid(Seu EDT)));

} 5 Crie sua seqncia Numrica, no seguinte caminho Bsico -> Configuraes -> Seqncias Numricas -> Seqncias Numricas 6- Atribua a seqncia criada a seu formulrio no caminho: Modulo -> Configuraes -> Parmetros clique na tabPage Seqncias Numricas. 7 Agora o prximo passo criar o formulrio dessa Tabela e atribuir mtodos para o funcionamento dessa sequencia. 8 Aps criar o formulrio v no n mtodos e crie um novo mtodo como o abaixo: NumberSeqFormHandler numberSeqFormHandler() { if (!numberSeqFormHandler) { numberSeqFormHandler = numberSeqFormHandler::newForm(TABELA ONDE VOC COLOCOU SEU METODO DE REFERENCIA:: numRefO_NOME_DO_SEU_EDT ().NumberSequence, element,O NOME DO SEU DATA SOURCE_DS, fieldNum(O NOME DA SUA TABELA, NOME DO CAMPO QUE RECEBER A SEUQENCIA NUMEICA)); } return numberSeqFormHandler; } 9 e no mtodo ClassDeclaration(), declare a varivel NumberSeqFormHandler numberSeqFormHandler

10 Em seguida abra o n DataSource, Depois o n do Seu Data Source e em mtodos, reescreva os seguintes mtodos: Create e Write. No mtodo create incremente-o da seguinte forma: public void create(boolean _append = false, boolean extern = false) { ; element.numberSeqFormHandler().formMethodDataSourceCreatePre(); super(_append); if(!extern) { element.numberSeqFormHandler().formMethodDataSourceCreate(); } } No mtodo write incremente-o da seguinte forma: public void write() { ttsbegin; element.numberSeqFormHandler().formMethodDataSourceWrite(); super(); ttscommit; }