Logo

Dynamics AX Brasil

  • Arquivo
  • RSS
  • Contato

Pegar datasource filtrado em um formulário

Fala pessoal…

Vou postar hoje uma dica bem legal que fiquei me debatendo como fazer ontem, e pode ser a dúvida de outros. É bem simples, mas como falei pode ser a dúvida de outros:

//Inicio <dynamicsaxbr>
DataSource_ds.queryRun().query();
//Fim

Com issso você pode instânciar um objeto QueryRun e fazer o loop nos resultados, assim:

//Start
QueryRun    queryRun;
;
queryRun = new QueryRun(new Query(InventTable_ds.queryRun().query()));
 
while(queryRun.next())
{
    //Faça
}
//End

Abraços,

Peterson Ferreira

    • #Dicas
    • #X++
    • #Desenvolvimento
  • 2 years ago
  • Comments
  • Permalink
  • Share
    Tweet

Pacote de atualização com a NF-e e Integração Fiscal

Fala galera…

É com muita alegria que venho falar para vocês que a Microsoft disponibilizou hoje o pacote de atualização do Ax2009 contendo a integração do Ax diretamente com a SEFAZ para emissão da NF-e.

Mais informações www.daxdev.com.br

Fiquem ligados no blog que passei acima que em breve terão mais informações!!!

Abraços,

Peterson Ferreira

    • #DAX 2009
    • #Dicas
  • 2 years ago
  • Comments
  • Permalink
  • Share
    Tweet

Vagas de desenvolvimento na Microsoft (São Paulo – BR)

No blog do Joel Pereira ele está divulgando vagas para desenvolvimento de AX segue o link.

Abraços,

Peterson Ferreira

    • #Diversos
  • 2 years ago
  • Comments
  • Permalink
  • Share
    Tweet

Acessando permissões de usuários utilizando X++

Fala galera, hoje vou falar de um assunto bem interessante, e não encontrei ainda na net. Dei uma pesquisada fiz uns testes e espero que gostem.

Vamos lá…

Como todos sabem o Microsoft Dynamics AX possue as Security Keys que controlam o acesso de usuários. Com a security key bem configurada é possível dar acesso diferenciado em alguns campos ou até mesmo fazer validações diferentes de acordo com cada usuário.

Vou colocar logo abaixo algumas validações que podem ser feitas no “X++”, levando em consideração as security keys.

//Start
if (hasSecurityKeyAccess(securitykeyNum(BasicLedger), AccessType::View))
{
     //Executa o código se o usuário tiver acesso.
}
//End

Para verificar se o usuário tem acesso a uma determinada tabela existe também uma função pré determinada assim como os campos de uma tabela também veja:

//Start
if (hasTableAccess (TableNum (custTable) AccessType::Edit)) 
{
    //Executa o código se o usuário tiver acesso. 
}
//End
//Start
if (hasFieldAccess (TableNum (custTable fieldnum) (custTable, AccountNum) AccessType::Delete)) 
{
    //Executa o código se o usuário tiver acesso. 
} 
//End

O Base Enum “AccessType”, determina o tipo de acesso que o usuário terá.

Todos os métodos estão na classe Global, sendo assim estes métodos podem ser chamados em qualquer momento no X++.

PS: Galera, desculpa o tempo sem postar, é que mudei de trampo e ta uma correira danada! Mas enfim, espero que gostem.

Abraços,

Peterson Ferreira

    • #Dicas
    • #X++
    • #Desenvolvimento
  • 2 years ago
  • Comments
  • Permalink
  • Share
    Tweet

Lançar diário utilizando X++

Fala pessoal,

Hoje vamos lançar um diário utilizando o X++, sei que será bem útil pois desde que comecei a trabalhar com o Dynamics AX ja precisei fazer isso várias vezes. Então mãos a obra…

Como todos sabem a tabela que armazena os diários e suas transções são respectivamente a LedgerJournalTable e a LedgerJournalTrans, e para que o exemplo abaixo funcione perfeitamente, é necessário que você tenha preenchido um tableBuffer da LedgerJournalTable (Cabeçalho do diário).

Existem duas classes que é possível fazer isso a LedgerJournalCheckPost e a LedgerJournalPost, que posteriormente chama a LedgerJournalCheckPost, mas faz alguma verificações como tipo de diário e outras. Neste exemplo irei utilizar a LedgerJournalPost:

//Start
static void postJournal(Args _args)
{
    LedgerJournalTable      ledgerJournalTable;
    ;
    //Pega a primeira linha da JournalTable, independente do tipo de Diário
    select firstonly ledgerJournalTable
        where ledgerJournalTable.Posted == NoYes::No;
 
    //Lança o diário independento do tipo de diário
    //parâmetro1 = tableBuffer da LedgerJournalTalbe
    //parâmetro2 = indica se os erros devem ou não ser jogados em um novo diário
    LedgerJournalPost::postJournal(ledgerJournalTable, NoYes::No);
}
//End

Se tivessemos usado a classe LedgerJournalCheckPost, seria preciso especificar qual seria o tipo de diário, com a classe LedgerJournalPost ele se encarrega de verificar qual é o tipo de diário e aplicar uma regra para cada tipo.

OBS: Quem quiser saber mais procure a classe LedgerJournalEngine que é a encarregada de definir as regras para cada tipo de diário. Existe um Enum que carrega todos os tipos de diário ele se chama LedgerJournalType.

É isso ai pessoal, caso reste alguma dúvida estou as ordens para responder!!COMENTEM!!!

Abraços,

Peterson Ferreira

    • #Dicas
    • #X++
    • #Desenvolvimento
  • 2 years ago
  • Comments
  • Permalink
  • Share
    Tweet
← Newer • Older →
Page 5 of 9

Portrait/Logo

Sobre

Meu nome é Peterson Ferreira. Este blog contém novidades, dicas e informações para consultores, desenvolvedores e usuários do Microsoft Dynamics AX. Aproveitem!

Entre em contato

  • @petersonfs on Twitter
  • Facebook Profile
  • petersonferreiras on Youtube
  • petersonferreira on Flickr
  • Linkedin Profile
  • petersonferreira on github

Comunidade Dynamics

Comunidade Dynamics

Categorias

Links

  • Jobs | Dynamics AX Brasil
  • Partner Source
  • DAXBR por Pichler
  • Dynamics AX por Brandon

Anúncios Patrocinados

  • RSS
  • Random
  • Arquivo
  • Contato
  • Mobile
  • Licença Creative Commons

Powered by Tumblr