Dynamics AXBR

Blog destinado a usuários do Dynamics AX no Brasil.
Options:

Relacionamento entre as DIRPARTYTABLEs

Caros,
Tava aqui recuperando uns endereços para uma integração e cheguei até uma query que relaciona tudo.

SELECT *
FROM   CUSTTABLE
       INNER JOIN DIRPARTYTABLE
       ON     CUSTTABLE.PARTYID    = DIRPARTYTABLE.PARTYID
       AND    CUSTTABLE.DATAAREAID = DIRPARTYTABLE.DATAAREAID
       INNER JOIN DIRPARTYADDRESSRELATIONSHIP
       ON     DIRPARTYTABLE.PARTYID    = DIRPARTYADDRESSRELATIONSHIP.PARTYID
       AND    DIRPARTYTABLE.DATAAREAID = DIRPARTYADDRESSRELATIONSHIP.DATAAREAID
       INNER JOIN DIRPARTYADDRESSRELATIONSHI1066
       ON     DIRPARTYADDRESSRELATIONSHIP.RECID      = DIRPARTYADDRESSRELATIONSHI1066.PARTYADDRESSRELATIONSHIPRECID
       AND    DIRPARTYADDRESSRELATIONSHIP.DATAAREAID = DIRPARTYADDRESSRELATIONSHI1066.DATAAREAID
       INNER JOIN ADDRESS
       ON     DIRPARTYADDRESSRELATIONSHI1066.REFCOMPANYID = ADDRESS.DATAAREAID
       AND    DIRPARTYADDRESSRELATIONSHI1066.ADDRESSRECID = ADDRESS.RECID
       AND    DIRPARTYADDRESSRELATIONSHI1066.DATAAREAID   = ADDRESS.DATAAREAID

[]s
Pichler





Microsoft Dynamics AX 2012 White Paper: Upgrade Best Practices

Overview
We strongly recommend that you read this paper before upgrading. The following topics are discussed:
Analyzing customizations
Purging and archiving data with the Intelligent Data Management Framework
Analyzing space requirements for databases
Creating project plans for testing
Recommended upgrade process
Preparing the source database
Preparing the source AOS instance
Using the state transfer tool
Preparing the target database
Preparing the target AOS instance

http://www.microsoft.com/download/en/details.aspx?id=28701&WT.mc_id=rss_alldownloads_all

[]s
Pichler





Tool box for developers – multi-language labels

People from various parts of the world have downloaded our project “toolbox” and for the next releases I intend to create a unique label, id DTB (Developers Toolbox).
The countries of greater access so far were:

- Brazil
- Russia
- Germany
- Denmark
- Ukraine
- Australia
- France

If any developer wants to willingly help with the translation of the label for your language, here is my contact:

MSN: a.joyle@hotmail.com
Skype: a.joyle

Regards to all.





Tool box for developers

Caros,
Subi um novo arquivo para o repositório. Nele contém o projeto “Destacar diferença de objetos importados”.
Este projeto já foi postado aqui no blog, mas o Denis Ribeiro deu uma incrementada nas funcionalidades e liberou a nova versão para ser também incluída no pacote.

O projeto se encontra aqui

Abraços,
Anderson Joyle





Populando os totais da LedgerTable

Pessoal,
Se alguém mais passar por isso e precisar, segue um script que lê a LedgerTable e popula a LedgerTableInterval carregando assim os totais (Intervalo de Contas).

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
static void createLedgerTableInterval(Args _args)
{
    LedgerTable                 ledgerTable;
    LedgerTableInterval         ledgerTableInterval;
    str                         myAccount, strPos;
    Counter                     i;
    ;
 
 
    while select AccountNum from ledgerTable
      where ledgerTable.AccountPlType == LedgerAccountType::sum
    {
        myAccount = ledgerTable.AccountNum;
        for(i = strlen(myAccount); i > 0; i--)
        {
            strPos = subStr(myAccount, i, 1);
 
            if(strPos == "0")
                continue;
 
            ledgerTableInterval.AccountTableId  = ledgerTable.TableId;
            ledgerTableInterval.AccountRecID    = ledgerTable.RecId;
            ledgerTableInterval.FromAccount     = subStr(myAccount, 1, i);
            ledgerTableInterval.ToAccount       = strfmt("%1z", ledgerTableInterval.FromAccount);
            ledgerTableInterval.insert();
            i = 0;
        }
    }
}

[]s
Pichler





Base de NCMs

Caros,
Como no post anterior, segue a base de ncms e o respectivo script para importar.

ncms_20111206.rar

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
static void loadNCMsFromFile(Args _args)
{
    TaxFiscalClassification_BR  buffer;
    Dialog                      dialog;
    DialogField                 dfFileName;
    TextIO                      inFile;
    RecordInsertList            recordInsert = new RecordInsertList(tableNum(TaxFiscalClassification_BR));
    Container                   line;
    ;
 
    delete_from buffer;
 
    dialog      = new Dialog("Selecione o arquivo");
    dfFileName  = dialog.addField(typeId(FilenameOpen), "Selecione o arquivo");
    if(!dialog.run())
        return;
 
    inFile = new TextIO(dfFileName.value(), 'R');
    inFile.inFieldDelimiter(";");
 
    line = inFile.read();
    while(line)
    {
        buffer.FiscalClassificationId   = conpeek(line,1);
        buffer.Name                     = conpeek(line,2);
        buffer.IPITaxCode               = 'IPI 0'; //hard coded porque é o que eu preciso.
        recordInsert.add(buffer);
        line = inFile.read();
    }
    recordInsert.insertDatabase();
}

[]s
Pichler





Base de Ceps

Caros,
Segue uma base de ceps mais atual com 1.345.486 ceps, já no formato para ser importada.

zips_20111206.rar

Abaixo o código para fazer a importação:

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
static void loadCepsFromFile(Args _args)
{
    AddressZipCode              buffer;
    Dialog                      dialog;
    DialogField                 dfFileName;
    TextIO                      inFile;
    RecordInsertList            recordInsert = new RecordInsertList(tableNum(AddressZipCode));
    Container                   line;
    ;
 
    delete_from buffer;
 
    dialog      = new Dialog("Selecione o arquivo");
    dfFileName  = dialog.addField(typeId(FilenameOpen), "Selecione o arquivo");
    if(!dialog.run())
        return;
 
    inFile = new TextIO(dfFileName.value(), 'R');
    inFile.inFieldDelimiter(";");
 
    line = inFile.read();
    while(line)
    {
        buffer.ZipCode          = conpeek(line,1);
        buffer.City             = conpeek(line,2);
        buffer.StreetName       = conpeek(line,3);
        buffer.CountryRegionId  = conpeek(line,4);
        buffer.State            = conpeek(line,5);
        buffer.CityAlias        = conpeek(line,6);
        buffer.DistrictName     = conpeek(line,7);
 
        recordInsert.add(buffer);
        line = inFile.read();
    }
    recordInsert.insertDatabase();
}

[]s
Pichler





Tool box for developers

Caros,
Criei no SourceForge uma conta para armazenar os projetos criados.
O arquivo que esta la ja contem um projeto chamado “DevelopmentTag”. Este projeto é extremamente simples e é bem possivel que a maioria aqui ja tenha feito algo do tipo para si, mas tinhamos que começar de algum lugar certo?
Já conversei com alguns outros devs e novos projetos ja estão por vir.
Lembro mais uma vez: este é um projeto para todos. Vamos fazer acontecer.
Qualquer dúvida, sugestões ou criticas, por favor se manifeste.

Segue o link

Att,
Anderson Joyle





Tool box for developers

Ola a todos.
Pessoal, o que acham de centralizarmos aqui no blog ferramentas que possam facilitar nossos desenvolvimentos?
A ideia é fazermos uma especie de tool box, onde possamos encontrar funcionalidades que facilitem nosso dia-a-dia como desenvolvedores. Poderíamos também melhorar projetos postados aqui, com novas funções e finalidades.
Preciso da ajuda de todos para deixar essa ideia mais formatada possível.

Abs,
Anderson Joyle





AX 2012 – Development I & Development II

Caros,
Seguem os links para os Training Materials:

Development I in Microsoft Dynamics AX 2012

  • Describe the basic features of Microsoft Dynamics AX 2012.
  • Review basic form navigation.
  • Review the architecture of Microsoft Dynamics AX 2012.
  • Describe the options for making development changes in Microsoft Dynamics AX 2012.
  • Describe the theory of Model Driven Architecture in Microsoft Dynamics AX 2012.
  • Review licensing and configuration.
  • Explain the MorphX development environment and the Application Object Tree.
  • Design tables using MorphX.
  • Describe the different data types within Microsoft Dynamics AX.
  • Create a new table.
  • Learn how to create and modify indexes using MorphX.
  • Describe relations on Microsoft Dynamics AX tables.
  • Learn how to create and modify Enumerated data types.
  • Learn how to create and modify views.
  • Design and build Forms in Microsoft Dynamics AX.
  • Join two data sources on a form.
  • Create customized menus and menu items.
  • Create a form using form templates.
  • Know the components of a list page.
  • Create a new FactBox.
  • Describe the elements of Role Based Security in Microsoft Dynamics AX.
  • Setup a new user.
  • Assign roles to a user.
  • Assign a security role to a user.
  • Edit duties assigned to a role.
  • Edit privileges assigned to a duty.
  • Edit permissions assigned to a privilege.
  • Search for roles with access to a menu item.

Development II in Microsoft Dynamics AX 2012

  • Identify key features of developing with X++.
  • Describe the basic foundation of object-oriented programming.
  • Use the development tools available within Microsoft Dynamics AX 2012.
  • Create object and data models from existing application elements by using the Reverse Engineering tool.
  • Use best practices to instill good programming habits.
  • Declare and use extended data types for variables.
  • Use the various operators available in X++.
  • Control program flow using conditional statements in X++.
  • Repetitively call the same blocks of code by using Loop statements.
  • Use standard functions that are built in to the application.
  • Use output commands to display data and messages to the user.
  • Use the classes within Microsoft Dynamics AX 2012 X++ development.
  • Control access to methods using Access Control Method Modifiers.
  • Extend a class using the concept of inheritance.
  • Describe the differences between an object and a class.
  • Initialize variables in the appropriate place according to scoping rules.
  • Call methods within the same class.
  • Use the different method types available.
  • Describe the similarities and differences between tables and classes.
  • Use the eventing publisher and subscriber model when modifying code in the application.
  • Retrieve data from the database using a select statement.
  • Create, update and delete data in the database.
  • Use and build queries using kernel classes.
  • Examine the exception handling mechanism in Microsoft Dynamics AX.
  • Use the Try, Catch, and Retry statements.
  • Throw an exception from code.
  • Identify and create code used to handle optimistic concurrency exceptions.
  • Set permissions on application elements.
  • Design and create security policies.
  • Secure unsafe Application Programming Interfaces (APIs) using the Code Access Security framework.
  • Authenticate data returned from display methods.

[]s
Pichler





Tags

RSS



Categorias

Data do post

January 2012
S M T W T F S
« Dec    
1234567
891011121314
15161718192021
22232425262728
293031  

Arquivo

Dynamics Community