[AX 2012 R3] Importar Demodata

Olá Pessoal,
Para quem precisa importar os dados da Contoso no AX2012 R3, deve-se primeiro baixar a DemoData que pode ser encontrada em: ​Contoso Demo Data​, após isso, o próximo passo é baixar o Microsoft Dynamics AX 2012 Test Data Transfer Tool.

Agora que já possui os dois arquivos, vamos lá:

  1. Extraia o conteúdo da DemoData Direto no C:\, o extrator irá criar uma pasta chamada MicrosoftDynamicsAXR3DemoData.
  2. Instale o Microsoft Dynamics AX 2012 Test Data Transfer Tool.
  3. Abra um Command Prompt como Administrator.
  4. Digite cd “C:\Program Files (x86)\Microsoft Dynamics AX 2012 Test Data Transfer Tool (Beta)” (copie inclusive as aspas duplas).
  5. Digite: dp.exe import c:\MicrosoftDynamicsAXR3DemoData\ MicrosoftDynamicsAX (onde MicrosoftDynamicsAX é o nome da base onde está o meu AX).

Se quiser ganhar muito tempo na hora de importar a demodata, vá até o SQL Server 2014 Management Studio -> Clique com o direito na database do AX -> Properties -> Files -> Altere o Initial Size (MB) da ROWS para 16.000 e do LOG para 26.000.

[]s,
Pichler





Olá Pessoal,
Tudo bem?

Pessoal passei por uma situação ontem ondem precisei criar um combobox no Microsoft Dynamics AX 2012 em uma tela de parâmetros porém não deveria mostrar todos os elementos do enum. Estou compartilhando com vocês caso venham a precisar.

Primeiro passo foi criar productSubtypeComboBox no classDeclaration do formulário.

public class FormRun extends ObjectRun
{
    NumberSeqReference          numberSeqReferenceProduct;
 
    boolean                     runExecuteDirect;
    TmpIdRef                    tmpIdRef;
    NumberSeqScope              scope;
    NumberSeqApplicationModule  numberSeqApplicationModule;
    container                   numberSequenceModules;
 
    SysFormEnumComboBox         productSubtypeComboBox;
}

Criei o método createProductSubtypeComboBox que para definir quais elementos do enum podem ser listados no combobox .

private void createProductSubtypeComboBox()
{
    FormRun                 caller;
    Args                    callerArgs;
    EcoResProductListPage   ecoResProductListPage = EcoResProductListPage::Products;
    Set                     allowedProductSubtypes;
    boolean                 allowProductMastersOnly;
    boolean                 allowDistinctProductsOnly;
 
    caller      = this.args().caller() as FormRun;
    callerArgs  = caller ? caller.args() : null;
    if (callerArgs && callerArgs.parmEnumType() == enumNum(EcoResProductListPage))
    {
       ecoResProductListPage = callerArgs.parmEnum();
    }
 
    allowedProductSubtypes  = new Set(Types::Enum);
    allowProductMastersOnly = ecoResProductListPage == EcoResProductListPage::ProductMasters;
    allowDistinctProductsOnly = ecoResProductListPage == EcoResProductListPage::DistinctProducts;
    if (allowDistinctProductsOnly)
    {
	allowedProductSubtypes.add(EcoResProductSubtype::Product);
    }
    else if (allowProductMastersOnly)
    {
	allowedProductSubtypes.add(EcoResProductSubtype::ProductMaster);
    }
    else
    {
	allowedProductSubtypes.add(EcoResProductSubtype::Product);
	allowedProductSubtypes.add(EcoResProductSubtype::ProductMaster);
    }
    productSubtypeComboBox = SysFormEnumComboBox::newParameters(
		this,
		element.controlId(formControlStr(EcoResProductParameters, Types_ProductSubtype)),
		enumNum(EcoResProductSubtype),
		allowedProductSubtypes);
}

O método createProductSubtypeComboBox foi adicionado ao init do formulário.

public void init()
{
    this.numberSeqPreInit();
 
    this.createProductSubtypeComboBox();
 
    super();
 
    EcoResProductParameters::find();
 
    this.numberSeqPostInit();
 
}

No método active do datasource foi adicionada uma linha para atualizar o combobox com a informação registrada no campo da tabela.

public int active()
{
    int ret;
 
    ret = super();
 
    productSubtypeComboBox.select(ProdImportDataStandard.ProductSubtype);
 
    return ret;
}

No método modified do controle esta sendo atualizado o campo da tabela sempre que modificado.

public boolean modified()
{
    boolean ret;
 
    ret = super();
 
    ProdImportDataStandard.ProductSubtype = productSubtypeComboBox.selection();
 
    return ret;
}

Nas propriedades no combobox no formulário foi definido as seguintes propriedades:

comboboxEnum





Criar diários de contratos de preço/desconto x++

Olá Pessoal,
Tudo bem?

Precisei criar um diário de contrato de preço/desconto no Microsoft Dynamics AX 2012 via X++. Estou compartilhando com vocês caso venham a precisar.

private PriceDiscAdmTable createPriceDiscAdmTable()
{
    PriceDiscAdmName    priceDiscAdmName;
 
    journalName     =   ProdImportDataStandardLESI::find().JournalName;
 
    if (journalName)
    {
        priceDiscAdmName    =   PriceDiscAdmName::find(journalName);
 
        if (priceDiscAdmName)
        {
            priceDiscAdmTable.clear();
            priceDiscAdmTable.initFromPriceDiscAdmName(priceDiscAdmName);
            if (priceDiscAdmTable.validateWrite())
            {
                priceDiscAdmTable.insert();
            }
        }
        else
        {
            throw error ('O nome do diário de preço e desconto informado não existe');
        }
    }
    else
    {
        throw error ('O nome do diário de preço e desconto não foi parametrizado');
    }
 
 
    return priceDiscAdmTable;
}
 
private void createPriceDiscAdmTrans(ItemId _itemId, AmountCur _amountValue, PriceDiscAdmTable _priceDiscAdmTable)
{
    PriceDiscAdmTrans       priceDiscAdmTransLocal;
    str                     accountRelation;
    TableGroupAll           accountCode;
    TableGroupAll           itemCode;
    InventDim               inventDim;
    TransDate               fromDateLocal;
    TransDate               toDateLocal;
    str                     itemRelation;
 
 
    itemCode                =   TableGroupAll::Table;
    itemRelation            =   _itemId;
    inventDim.InventSiteId  =   '001';
    inventDim               =   inventDim::findOrCreate(inventDim);
    fromDateLocal           =   today();
 
    priceDiscAdmTransLocal.clear();
    priceDiscAdmTransLocal.initValue();
    priceDiscAdmTransLocal.JournalNum   =   _priceDiscAdmTable.JournalNum;
 
    if (moduleInventCustVend == ModuleInventCustVend::Vend)
    {
        priceDiscAdmTransLocal.relation =   PriceType::PricePurch;
        accountCode             =   TableGroupAll::Table;
        accountRelation         =   '000012';
    }
    else if (moduleInventCustVend == ModuleInventCustVend::Cust)
    {
        priceDiscAdmTransLocal.relation =   PriceType::PriceSales;
        accountCode             =   TableGroupAll::All;
        accountRelation         =   "";
    }
 
    priceDiscAdmTransLocal.AccountCode      =   accountCode;
    priceDiscAdmTransLocal.AccountRelation  =   accountRelation;
    priceDiscAdmTransLocal.initFromAccountCode();
    priceDiscAdmTransLocal.ItemCode         =   itemCode;
    priceDiscAdmTransLocal.ItemRelation     =   itemRelation;
    priceDiscAdmTransLocal.initFromItemCode();
    priceDiscAdmTransLocal.InventDimId      =   inventDim.inventDimId;
    priceDiscAdmTransLocal.Amount           =   _amountValue;
    priceDiscAdmTransLocal.FromDate         =   fromDateLocal;
    priceDiscAdmTransLocal.ToDate           =   toDateLocal;
 
    if (!priceDiscAdmTransLocal.Currency)
    {
        priceDiscAdmTransLocal.Currency = CompanyInfo::standardCurrency();
 
    }
 
    priceDiscAdmTransLocal.insert();
 
 
}




Adicionar Textos de notas fiscais na ordem de venda usando X++

Olá Pessoal,
Tudo bem?

Hoje precisei adicionar um texto de nota fiscal a uma ordem de venda no Microsoft Dynamics 2012 via X++. Estou compartilhando com vocês caso precisem algum dia.

public void generateDocumentReferenceExternal(SalesTable _salesTable, FiscalDocumentTextID_BR _textID)
{
    DocuRef                         docuRefLocal;
    DocuRefExt_BR                   docuRefExt_BRLocal;
    FiscalDocumentSourceText_BR     fiscalDocumentSourceTextLocal;
 
    if (_textID)
    {
        fiscalDocumentSourceTextLocal = FiscalDocumentSourceText_BR::findByTextID(_textID);
 
        if (fiscalDocumentSourceTextLocal)
        {
            try
            {
                ttsBegin;
 
                docuRefLocal.RefTableId     =   _salesTable.TableId;
                docuRefLocal.RefRecId       =   _salesTable.RecId;
                docuRefLocal.RefCompanyId   =   _salesTable.dataAreaId;
                docuRefLocal.TypeId         =   BrazilParameters::find().FiscalDocumentTextDocuTypeId;
                docuRefLocal.initFromFiscalDocumentSourceText_BR(fiscalDocumentSourceTextLocal);
                docuRefLocal.insert();
 
                docuRefExt_BRLocal.DocuRef  =  docuRefLocal.RecId;
                docuRefExt_BRLocal.Type     =   FiscalDocumentTextType_BR::UserDef;
                docuRefExt_BRLocal.initFromFiscalDocumentSourceText(fiscalDocumentSourceTextLocal);
                docuRefExt_BRLocal.insert();
 
                docuRefExt_BRLocal.initProcessReference();
 
                ttsCommit;
 
            }
            catch
            {
                throw error(strFmt("Falha ao tentar gerar texto de nota fiscal para a ordem de venda %1", _salesTable.SalesId));
            }
 
        }
    }
 
}




Gerador de CPF, CNPJ, Inscrição Estadual, RG, Pessoas e Empresas

Olá Pessoal,
Tudo bem?

Hoje estava precisando preencher um valor de inscrição estadual para simular um faturamento e pesquisando encontrei um site bem legal que oferece outros vários tipos simulações além dos tradicionais CPF e CNPJ como inscrição estadual, RG, cadastro de pessoas, cadastro de empresas, cartão de crédito, senhas e outros. Estou compartilhando o link com vocês: http://www.4devs.com.br .





Tags / Categorias

RSS



Arquivo

Dynamics Community