16 May 2013
Posted by: Ricardo Pichler in: Configuração, Funcional
Caros,
hoje ficamos procurando a parte que cuida dos Expense Management e descobri que nas primeiras versões ele estava no EP default, ou seja, era listado na Home Page, mas que depois mudaram, para acessar vocês devem pegar a URL do portal e adicionar EmployeeServices! No meu caso a URL era http://dynamicsax.contoso.com/sites/DynamicsAx/, eu mudei para http://dynamicsax.contoso.com/sites/DynamicsAx/EmployeeServices/ e consegui acessar como na imagem abaixo:
Abraço!
Pichler
15 May 2013
Posted by: Ricardo Pichler in: Configuração, Diversos, X++
Caros,
Uma rotina bem comum quando estamos em implementação e até mesmo pós, é copiar a base de produção para os demais ambientes, isso ajuda de N maneiras e não vou agora me atentar a isto, a minha ideia é apenas publicar o White Paper que mostra como fazer.
Quem me passou foi o meu amigo Humberto Santiago (twitter).
Arquivo: Moving Between Environments
[]s
Pichler
15 May 2013
Posted by: Ricardo Pichler in: Funcional
Caros,
Hoje fui chamado para tentar resolver um problema, o consultor tinha uma Ordem de Compra que estava sendo contabilizada pela metade, no entanto, quando você consultava o Diário Razão Auxiliar ele mostrava corretamente.
Conversando com um amigo meu, o Gustavo Alves, ele me explicou sobre este processo e fui atrás para entender.
O processo é bem bacana, consiste em postergar a transferencia dos lançamentos contábeis do subledger para o generalledger. O principal motivo para esta configuração é fazer a contabilidade em outro momento e com isso economizar tempo no post das transações! Imagine por exemplo que você tem uma NF que irá gerar vários lançamentos contábeis, com este processo ativo ele irá fazer o básico e o restante será executado em outro momento.
Para este processo, exitem três opções disponíveis:
Síncrono – Posta todas as transações imediatamente (como era no AX 2009 e anteriores).
Lote Agendado – Como o próprio nome já diz, o post das transações será baseado em lotes e você poderá fazer periodicamente.
Assíncrono – Neste modo o lançamento do documento acontecerá efetivamente depois que for lançado no subledger. Eu sinceramente não entendi bem essa de subledger, vou aprender mais e volto a falar sobre isso.
Para checar qual configuração você está usando, o caminho é:
Para configurar a funcionalidade -> Contabilidade -> Parâmetros da Contabilidade -> Regras de Transferência em Lote
Para o Batch Transfer -> Contabilidade -> Atividades Periódicas -> Transferência Automática Para Diários Auxiliares.
[]s
Pichler
04 Apr 2013
Posted by: Ricardo Pichler in: X++
Caros,
Hoje parei para dar uma lida noCIL que o AX 2012 implementa e vou tentar explicar.
CIL é o resultado de uma compilação de mais baixo nível do que a gerada pelo X++ e por consequência ganha-se performance.
Todo código X++ compilado dentro do AX é compilado em um bytecode intermediário e esse formato é então usado pelo runtime do AX, tanto no client como no server. O compilador X++ gera apenas o bytecode para gerar o código CIL, no entanto você precisa gerar manualmente tanto o Incremental CIL como Full o CIL, ambos estão disponíveis na barra de ferramentas.
Como já foi falado, o principal benefício de se usar X++ como CIL é a performance. Geralmente o runtime do .Net é significativamente mais rápido que o X++, e em certos casos o ganho de performance é mais notável ainda, vejam:
Situações com muitas chamadas de métodos -> No runtime do X++ qualquer chamada de método acontece através de reflections, no caso do CIL acontece no nível do processador.
Situações com muitos objetos de ‘vida curta’ -> O Garbage Collector (GC) do AX irá sempre analisar o objeto que saiu de escopo para verificar se há algum objeto que pode ser desalocado, no caso do CIL o GC ira determinar o melhor momento para desalocar o objeto e liberar memória.
Situações com uso extensivo de .Net Interop -> Rodando o X++ como CIL, todas as conversões e enpacotamentos serão evitados.
Um exemplo real onde podemos verificar que o código como .Net CIL faz uma diferença significante é na ferramenta Compare. Mesmo com o algorítimo tendo poucas chamadas de métodos, poucos objetos de vida curta, e sem .Net interop, o uso do CIL faz com que em 10 segundos seja possível se comparar 3500 linhas de texto, enquanto no X++ nativo você só conseguiria comparar 600 linhas.
No geral, apenas os batch jobs e o services rodam como CIL, no entanto, se você quiser forçar códigos X++ rodarem como CIL fora destes casos, você poderá usar os métodos runClassMethodIl e runTableMethodIl que são implementados pela classe Global.
Há outras formas também de fazer, mas discutiremos em outro post.
Referências:
Inside Microsoft Dynamics AX 2012.
Dynamics AX Daily
Common Language Runtime
Common Intermediate Language
Uma variedade enorme de ebooks para download.
[]s
Pichler