Archives - July 2010

Atualizado: Evento - Novas funcionalidades brasileiras no ROLL-UP 5 do Dynamics AX 2009

Demonstrar as funcionalidades adicionadas a localização brasileira no Roll-up 5 do Dynamics Ax 2009, disponibilizado em Junho de 2010. Serão apresentadas funcionalidades como a nova versão da nota fiscal eletrônica, transferência de crédito ou débito de ICMS, texto legais em transações contábeis, numeração de páginas nos relatórios contábeis, entre outras. Esta palestra tem uma ênfase técnica como também funcional, portanto apresentaremos também modelos relacionais e porções do código fonte que sejam relevantes para o entendimento.


Data: 09/08
Horário: 14h00 às 17h00
Local: Microsoft - Av Das Nações Unidas, 12.901 – 04578000 - Torre Norte – 31º - Auditório 2
Investimento: Gratuito


Palestrantes:
Fabio Vazquez - Trabalha com desenvolvimento, implantação e consultoria em aplicações empresariais desde 1995, especialmente com soluções de ERP, Orçamento Empresarial e BI. Autor de 2 livros e diversos artigos sobre desenvolvimento e engenharia de software em publicações nacionais e internacionais. Durante 5 anos consecutivos foi Microsoft MVP (Most Valuable Professional) em Visual FoxPro e C#. Atualmente é Software Development Engineer no Dynamics Ax Global Financial Team.
Djalma Franco - Trabalha com desenvolvimento de localizações para ERPs desde 1998. Ingressou na Microsoft em 2006 como Software Development Engineer para atuar na localização do Dynamics AX - Atuou no desenvolvimento da localização do AX 4.0 SP2, AX 2009.
Rodrigo Matiazo - Desenvolvedor de aplicações de negócio e ERPs desde 2001, trabalha com Dynamics AX desde 2003, participando do projeto de localização do sistema para o Brasil e também em várias implementações locais e internacionais. Ingressou na Microsoft em 2008 como System Development Engenieer do Global Financial Management Team, trabalhando no release do Ax 2009 para o Brasil.

 
Público-Alvo - Consultores funcionais e desenvolvedores do Dynamics Ax 2009.
Inscrições: Bruna Bovino - v-brbovi@microsoft.com – 55 11 5504-3665
Obs: Consulte o número de vagas

Blog do Daniel Landi: Extrair consulta T-SQL (SQL Server) de um objeto Query

Mais uma vez: não gosto de repostar conteúdo, mas esse post simplesmente é muito bom!!!

É a ultima vez que eu posto sobre posts do Daniel aqui(quem sabe no twitter), portanto sigam o blog desse cara!!!

Configurator debug tool para CNAB e SISPAG

Ja postei aqui mas vou dedicar um post a essa ferramenta ja que muita gente usa o archive e search.

Essa ferramenta ajuda no debug e análise de queries utilizadas pelo configurador. Essa ferramenta deve ser utilizada nos casos em que nenhum registro é exportado. Normalmente o problema esta na falta de configurações e essa ferramenta vai ajudar consultores e desenvolvedores a encontrar o “missing link” entre as tabelas da query. :)

Aqui vai o link: http://www.daniellandi.com/?p=52

Termo: Item de inventário e uso de tipos de operação

Complementando algumas informações contidas no white paper: cost management, gostaria de compartilhar a seguinte sentença:

Did you know in Microsoft Dynamics AX2009, all product data is maintained as inventory items in the Inventory management module. Products of type item and products of type service assume the role of inventory items so that they can be referenced in product structures, such as BOMs and product configurations, and so that they can be identified when they participate in operating activities (purchase, sales, production, and so on).

O item que eu gostaria de destacar é: …produtos do tipo serviço assumem o papel de itens de inventário…

Minha dica é que não utilize um tipo de operação que não movimente estoque para compra de serviços ou itens de consumo, utilize a configuração indicada no white paper, o flag de não controle de estoque foi criado para o uso em operações muito específicas que não a simples compra ou venda.

Um exemplo de uma operação muito específica que essa configuração deveria ser utilizada é no faturamento antecipado (CFOP 5.922 / 6.922).

Tenham isso em mente quando forem configurar o Ax para seus clientes.

Disclaimer: As informações expressadas neste post são interpretações pessoais e não refletem de forma alguma àquelas do meu empregador. Todo o conteúdo aqui publicado é oferecido "AS-IS", sem nenhuma garantia ou direitos oferecidos

Microsoft Dynamics AX 2009 White Paper: Cost Management

Foi publicado aqui um white paper muito interessante sobre gerenciamento de custos de inventário no Ax 2009.

O white paper traz dicas muito boas para configurar o Ax para utilizar custo médio e coloca um ponto final na interpretação de como o custo médio flui no ax:

..issues from inventory are valued at the average cost of the quantities received into inventory during the inventory closing period, plus any on-hand inventory from the previous period.

When you run an inventory close, all receipts are settled against a virtual issue, which holds the total received quantity and value. This virtual issue has a corresponding virtual receipt from which the issues are settled. In this way, all issues get the same average cost. The virtual issue and receipt can be seen as a virtual transfer, called the weighted average inventory closing transfer.

If there is only one receipt, all issues can be settled from it, and the virtual transfer will not be created.

E continua:

We recommend running a monthly inventory close is when costing by cost flow assumption weighted average.

O white paper traz também uma sessão de configurações recomendadas. Eu gostaria de destacar o setup das contas contábeis em todos os módulos que usam o inventário e para todos os posting types.

Claro que nem todas as configurações devem ou podem ser aplicadas a realidade Brasileira mas o whitepaper tem muitas dicas uteis de como configurar a contabilidade na parte de estoque.

O apêndice que traz exemplos de todos os postings utilizando as configurações recomendadas.

Research vs ExecuteQuery vs Refresh vs Reread

Normalmente eu não publico links que outros blogs, porém acho que esse post explica muito bem a diferença entre esse métodos. Reproduzo abaixo o e-mail que recebemos de um colega alertando sobre o post.

Just came across this blog post, which is probably one of the most useful/clear/relevant entries about Ax I’ve ever seen. It covers something that everyone keeps getting wrong (me included), and explains it very clearly.

http://kashperuk.blogspot.com/2010/03/tutorial-reread-refresh-research.html

X++ developers seem to be having a lot of trouble with these 4 datasource methods, no matter how senior they are in AX.
(…)

Problemas entre webservices do PR e NF-e do AX – Parte 2

Como disse na parte 1 deste post, encontramos outro problema mesmo conseguindo conectar nos webservices do Paraná.

Quando uma nota fiscal era enviada, tinhamos o seguinte comportamento no histórico da NF-e:

Message Type Mesasge Status Status Description Web Service conectado
NF-e Waiting to send Created    
NF-e Sent Created 103 - Lote Recebido com sucesso NFeRecepcao
NF-e Processed Rejected 299 - XML utiliza codificação diferente de UTF-8 NfeRetRecepcao


Quando verifiquei o histórico, ficou claro para mim que havia um problema com os xmls usados nos outros web services que não o de recepção da NF-e. Ja que a mensagem de envio tinha retornado 103 - Lote Recebido com sucesso.

Como comentei no primeiro post, a SEFAZ/PR não seguiu alguns padrões do XML definidos pela W3C. Os webservices somente aceitam XMLs em que a declaração <?xml version="1.0" encoding="UTF-8"?> aparece explicitamente no xml. Os web services da SEFAZ/SP e SEFAZ/RS aceitam o XML sem essa declaração, por que implicitamente o encoding é UTF-8.

O processo de envio de mensagem usa 5 classes para formatar o XML a ser enviado ao webservice:

Prefixo: EFDocMsgFormat  
WebService Classe NF-e V1.10 Classe NF-e V2.00
NfeRecepcao _XmlSubmit_BR _XmlSubmitV2_BR
NfeRetRecepcao _XmlSubmitReturn_BR _XmlSubmitReturnV2_BR
NfeCancelamento _XmlCancel_BR _XmlCancelV2_BR
NfeInutilizacao _XmlDiscard_BR _XmlDiscardV2_BR
NfeConsulta _XmlInquire_BR _XmlInquireV2_BR


Somente a classe _XMLSubmit_BR (consequentemente a classe V2) explicitamente adiciona a declaração <?xml>.

Ainda precisamos fazer um pequeno ajuste nas outras 4 classes que geram o XML para que tudo funcione normalmente. Não é necessário alterar as classes da versão 2.00 ja que nenhuma delas sobrescreve o método write ou doFormat da classe base.

Para que tudo fucnione normalmente, basta colocar a seguinte chamada:

xmlDoc.insertBefore(
      xmlDoc.createXmlDeclaration('1.0', 'UTF-8', ''), 
      xmlDoc.documentElement());

Entre as seguinte chamadas:

xmlDoc = XmlDocument::newXml(consReciNFeElement.outerXml());

_stream.write(xmlDoc.toString());

No método write das classes: EFDocMsgFormat_XmlSubmitReturn_BR, EFDocMsgFormat_XmlInquire_BR

No método doFormat das classes: EFDocMsgFormat_XmlCancel_BR, EFDocMsgFormat_XmlDiscard_BR

Com os métodos alterados o processamento das NF-e acontece normalmente!

Abs!

Evento: Novas funcionalidades brasileiras no Roll-up 5 do Dynamics Ax 2009

Em dezembro de 2009 fizemos um evento aqui na Microsoft para parceiros para demostrar e falar sobre todas as funcionalidades adicionadas no pacote de atualização da NF-e.

Agora chegou a hora de falarmos sobre as novas funcionalidades adicionadas no RU5 (Regulatory Update 5).

A palestra será aqui na Microsoft, no dia 9 de agosto das 14h00 as 17h00h. Não percam mais essa oportunidade para saber das mais recentes atualizações do Ax para o Brasil e ter um contato mais próximo com o time de localização do produto!

Parceiros devem receber em breve informações para inscrição. Nos próximos dias eu também vou publicar informações sobre como se inscrever no evento, portanto fiquem ligados!

Descrição:  “Demonstrar as funcionalidades adicionadas a localização brasileira no Roll-up 5 do Dynamics Ax 2009, disponibilizado em Junho de 2010.  Serão apresentadas funcionalidades como a nova versão da nota fiscal eletrônica, transferência de crédito ou débito de ICMS, texto legais em transações contábeis, numeração de páginas nos relatórios contábeis, entre outras.  Esta palestra tem uma ênfase técnica como também funcional, portanto apresentaremos também modelos relacionais e porções do código fonte que sejam relevantes para o entendimento.”

Perfil dos participantes: consultores funcionais e desenvolvedores do Dynamics Ax 2009.

Palestrantes: 
- Rodrigo Matiazo
- Fabio Vazquez
- Djalma Franco

Novo blog brazuca sobre Ax no ar!!!!

Mais um membro do meu time (Global Finance Management Team) aqui no Brasil lançou seu blog!!!

Seu nome é Daniel Landi, ele é, como eu e o Fabio Vazquez, um Software Development Engineer. Ele trabalhou durante muitos anos com tecnologias biométricas e nos ultims anos desenvolvendo software para radares de trânsito.

Seu primeiro post é sobre uma ferramenta que ele desenvolveu para ajudar no debug e análise de queries utilizadas pelo configurador. Essa ferramenta deve ser utilizada nos casos em que nenhum registro é exportado. Normalmente o problema esta na falta de configurações e essa ferramenta vai ajudar consultores e desenvolvedores a encontrar o “missing link”. :)

http://www.daniellandi.com/?p=52

Abs. ..escrevendo a parte 2 sobre problemas com a SEFAZ/PR…

Problemas entre webservices do PR e NF-e do Ax – Parte 1

Ajudei um parceiro semana passada em alguns problemas que ele estava tendo para colocar a NF-e do Ax funcionando com os web services do PR e gostaria de compartilhar o workaround que encontramos para os problemas identificados.

O problema:

A SEFAZ/PR implementou o WSDL dos webservices Consulta da Nf-e, Cancelamento, Recepção, Retorno do processamento do Lote e Inutilização de uma maneira diferente da SEFAZ/SP e SEFAZ/RS.

Essa diferença faz com que o Ax ou não consiga gerar os service references para esses web services ou quando o service reference é gerado, o WSDL faz com que o .net gere a classe que implementa o client SOAP com um nome diferente do esperado pela implementação da Nf-e, por exemplo, o Ax espera encontrar a classe NfeRetRecepcaoSoapClient e o wsdl faz o .net gerar uma classe chamada NfeRetRecepcaoClient.

Work around:

Baixe o WSDL do site da SEFAZ/RS, descompacte em um diretório, verifique se o usuário do AOS tem acesso de leitura a esse diretório, atribua o acesso de leitura ao diretório caso ele não tenha.

Para cada web service, ao invés de usar a URL do SEFAZ/PR utilize o caminho para o diretório do disco.

image

No exemplo acima, é possível ver que o webservice de cancelamento foi gerado a partir do WSDL do disco com sucesso (screenshot do form de parâmetros brasileiros, versão RU5). Faça isso para cada um dos 4 webservices restantes.

Após gerar os webservices, além de configurar os service references para usar o certificado digital (disponibilizei uma classe que faz isso automaticamente aqui), é necessário trocar o endereço do endpoint do client soap da SEFAZ/RS para a SEFAZ/PR.

Para isso, acesse a configuração do service reference através de:

  • \Basic\Setp\Application Integration Framework\Service References
  • ou diretamente do AOT\References

image

No campo indicado acima, para cada service reference, substitua a URL pela URL correspondente da SEFAZ/PR.

Após esse procedimento, o Ax consegue conectar nos webservices do PR sem problemas, contudo, a SEFAZ/PR também não seguiu alguns padrões do XML definidos pela W3C. Ainda precisamos fazer um pequeno ajuste em 4 classes que geram o XML para que tudo funcione normalmente, porém, esses ajustes continuam na parte 2.

Fiquem ligados!