Você está na página 1de 104

Fiscal Book Integration

Troubleshooting

Carlos Shimoda
Escalation Engineer
Microsoft
Agenda

• Introdução

• Arquitetura e Estrutura de Dados (AX vs SoftTeam)


• Nomenclatura e Tabelas de controle

• Instalação e Configuração
• MSFBI (AX)
• DSFBI (SoftTeam)
• Configuração SoftTeam

• Lab 1
• Instalação e Configuração

• Histórico de atualizações

• FBI - Novas Funcionalidades


Agenda
• Troubleshooting FBI
• Demo & Lab 2
– Monitoração dos Jobs
» Status de execução (TBGL_PROCESSO)
» Anexos
– Troubleshooting
» Origem do problema (MSFBI vs. DSFBI)
• Inside FBI
• Demo & Lab 3
– Principais classes e objetos no AX
– Debugging

• Documentação

• Apêndice A – Validações
• Livro Fiscal / SPED Fiscal (Clientes/Fornecedores/Itens/Nota Fiscal Entrada/Nota Fiscal Saída)
• SPED Contábil (Comprovantes/Plano de Contas/Saldo do Período)
• Apêndice B – Queries auxiliares
• Apêndice C – Layer technology
• Apêndice D – AX 2009 service releases
Introdução

• A Interface Fiscal é a responsável pela transferência de dados do AX para as


aplicações da SoftTeam (Livro Fiscal/SPED Fiscal, SPED Contábil, SIR , IN86,
CIAP)

• A Interface Fiscal possui 2 estágios:

1º) MSFBI (Microsoft Fiscal book integration)


Exportação dos dados da database do AX para a database intermediária da integração
fiscal.

2º) DSFBI (Datasul Fiscal book integration)


Importação dos dados da database intermediária da integração fiscal para as databases
finais das aplicações SoftTeam.
Arquitetura
AX SoftTeam
TBGL_PROCESSO table
Forms
P = Pronto
AX SPED_FISCAL
I = Importando

S = Sucesso

E = Erro
Web
Classes
SPED_CONTABIL

=
AOS

AX_SOFTTEAM
Temp tables
Reports
SIR

SQL Server Agent


(JOB_IMPORT_TB_SOFTTEAM) * IN86

* periodicidade de execução = a cada 1 min.


Arquitetura

• Nomenclatura e Tabelas de controle

Nomenclatura básica
TB = Tabela
LF = Livro Fiscal
GL = Global
SR = SIR
TMP = Temporária
ERR = Erros

Estrutura de nomes
TB<GL|LF|SR>_<NOME_TABELA_FINAL>_<TMP|ERR>

Ex.:
TBGL_PROCESSO, tabela global de processos
TBLF_CADPFJ_TMP, tabela temporária do livro fiscal para cadastro de clientes e fornecedores.
TBSR_CADASTRO_TMP, tabela temporária do SIR para cadastro de fornecedores.
NOTFIS, tabela final do livro fiscal para mestre de Notas Fiscais
Arquitetura

TBGL_PROCESSO
- Tabela responsável por guardar os processos de importação
- Principais campos: FLG_IMPORTACAO, COD_PROCESSO, COD_EMPRESA, COD_FILIAL, DAT_INICIO_PROC,
DAT_FINAL_PROC, NRO_REG_TOTAL, NRO_REG_CONSISTENTE, NRO_REG_INCONSISTENTE

P A I S
Início Null
(pronto) (aguardando) (importando) (sucesso)

SQL Server Agent


E
(erro) Fim

TBGL_ERRO_IMPORTACAO
- Tabela responsável por guardar os erros de importação com suas respectivas descrições
- Através do COD_PROCESSO e NRO_SEQ é possível levantar os dados que apresentaram problemas nas
tabelas *_ERR. Por exemplo, numa importação de Clientes (CADPFJ) a tabela que contêm os dados seria
TBLF_CADPFJ_TMP e a que contém os erros seria TBLF_CADPFJ_ERR

EMPRESA / ESTAB / ESTABELECIMENTO


- Definem as informações sobre a Empresa e relacionamento DE / PARA das empresas do AX para as
empresas do SoftTeam
Instalação
MSFBI (AX 4.0)

Localization Localization
Dynamics FBI (layers
Update for SP2 Update for
AX 4.0 + SP1 DIS/DIP)
Brazil (SP1) Brazil (SP2)

(layers DIS/DIP)

1) Parar AOS service


2) Copiar arquivos de layer DIS/DIP para o diretório de aplicação
(…\Application\Appl\Standard)
3) Iniciar AOS service e logar no AX
4) Completar o Upgrade checklist
5) Criar a database intermediária AX_SOFTTEAM

Obs.: DIS layer 362 (ou superior) é pré-requisito para a aplicação do layer DIP.
Instalação
MSFBI (AX 2009)

Consolidated
Dynamics AX FBI (layer
SP1 GLS Layer for
2009 GLP)
Brazil

(layer GLP)

1) Instalação layer GLP


a. Executar DynamicsAX2009-KB972816-SP1.exe (KB article 972816)

2) Sincronizar a database
a. Administration > Periodic > SQL administration > Table Actions > Synchronize
database.

3) Recompilar a aplicação
a. Administration > Periodic > Compile Application.

4) Instalar a database intermediária AXSoftTeam


b. Abrir SQL Server Management Studio (SQL Server 2005) ou
Query Analyzer (SQL Server 2000).
b. Criar database intermediária AX_SOFTTEAM (usar o comando
CREATE DATABASE AX_SOFTTEAM).
c. Clicar em File > Open e selecionar o script AX_SOFTTEAM.Sql.
e. Pressionar F5 para rodar o script.

O passo 4 pode ser realizado dentro do AX a partir da build


“5.0.1500.2297”
Configuração

Habilitar integração com Livros Fiscais


1. Básico > Configuração > Brasil > Parâmetros brasileiros
2. Tab Geral > selecionar checkboxes “Habilitar recursos brasileiros”
e “Habilitar Integração com Livro Fiscal”
3. Salvar alterações

Configurar parâmetros de integração


1. Administração > Atividades Periódicas > Livro Fiscal >
Parâmetros da Integração com Livros Fiscais
2. Tab “Visão Geral” > configurar servidor de banco
de dados e Timeout
3. Salvar alterações

Obs: A interface irá checar os processos internos de importação por 7 vezes (padrão), aguardando o status Finished. O timeout
configurado indica quanto tempo a interface irá esperar antes de cada verificação.

Exemplo: Timeout configurado para 10, após o início do job, a cada 10 minutos a interface irá verificar os processos internos pelo status
Finished. Após 70 minutos, caso não tenha resposta, o job é parado e Status = Timeout .
Configuração

• A criação da empresa no Dynamics AX é realizada através do form “Contas da Empresa”.


• A criação do relacionamento na database intermediária é realizada através do novo formulário “MAP AX
company to fiscal book solution company”

Relação DE /PARA
Administração> Contas da Empresa

A relação de/para deve ser realizada para


todos os módulos utilizados.
Instalação
DSFBI (SoftTeam)

Instalação Instalação
Instalação Client
Database e DSFBI Aplicação
SoftTeam
-SoftTeam SoftTeam

1) Executar o InstallShield
a. Escolher a opção “Banco de Dados”

Realizar as atualizações do DS-FBI


disponibilizadas no portal da TOTVS.

A database AX_SOFTTEAM deve possuir a mesma


collation das demais databases dos produtos
SoftTeam, e de preferência Case Insensitive (ex.:
Latin1_General_CI_AI).
Configuração

DSFBI

Ao final da instalação pelo InstallShield deverá ser possível fazer o cadastro das Empresas/Estabelecimentos no
SoftTeam através dos links:

- Cadastro Global de Empresa


http://<servidoraplicacao>/cadastrogeral/FrwAdmin/FormsFrwAdmin/Crud/frmFRW1000.aspx

- Cadastro Global de Estabelecimento


http:// <servidoraplicacao>/cadastrogeral/FrwAdmin/FormsFrwAdmin/Crud/frmFRW1010.aspx

- Configuração de banco de dados do aplicativo de Cadastro Global


http:// <servidorplicacao>/cadastrogeral/FrwAdmin/FormsFrwAdmin/Crud/frmEFD600.aspx

- Cadastro de Usuários para acesso aos Cadastros Globais de Empresa Estabelecimento


http:// <servidoraplicacao>/cadastrogeral/FrwAdmin/FormsFrwAdmin/Crud/frmFRW102.aspx
Configuração

• A criação da empresa e do estabelecimento no SofTeam é realizada através dos formulários WEB do aplicativo SPED .
Configuração

DSFBI (AX 4.0)

Relação DE / PARA

• O sistema Livro Fiscal possui o campo


COD_EMPRESA_DYNAMICS na tabela Fiscal..ESTAB

Administração> Contas da Empresa

• O Sistema de Impostos Retidos (SIR) possui o campo


COD_EMPRESA_DYNAMICS na tabela SIR..ESTABELECIMENTO
DEMO
Configuração
Configuração

Parâmetros de Conexão
• No menu Ambiente, o administrador global deve preencher os parâmetros de conexão, responsável por realizar
a comunicação entre o aplicativo SPED e o Database.
Configuração

Parâmetros Gerais

• No menu Ambiente, o administrador global, deve preencher toda parte de parâmetros gerais .
Configuração

Empresa

Para acessar as aplicações referentes ao Cadastro Global, é concedido um usuário inicial, na qual terá uma empresa
já cadastrada como

1 – EMPRESA MODELO.

Usuário: admglobal
Senha: admin
Configuração

Estabelecimento

Esta funcionalidade tem como objetivo principal direcionar o aplicativo com as principais características de cada
Empresa e Estabelecimento.
Configuração

Seleção de Empresa

Selecionar a Empresa criada, para que os demais cadastros sejam relacionados com sucesso.
Configuração

Usuários

No menu Controle de Acesso, o administrador global, deve cadastrar usuários os quais utilizarão o sistema.
Configuração

Perfis

• No menu Controle de Acesso, o administrador global, deve cadastrar perfis para controle de acesso aos
usuários.
Configuração

Configurar Perfil

• No menu Controle de Acesso, o administrador global, deve vincular as permissões aos perfis de controle de
acesso.
Configuração

Usuário X Perfil
• No menu Controle de Acesso, o administrador global, deve vincular os usuários aos perfis de controle de
acesso.
Configuração
Usuário X Estabelecimento
• No menu Controle de Acesso, o administrador global, deve vincular os usuários aos estabelecimentos
necessários.
LAB 1

Instalação e Configuração
(60 min.)
Histórico de Atualizações
AX 4.0
• Para o correto funcionamento da Interface Fiscal, é necessário ter a correta combinação entre MSFBI / DSFBI
instaladas no ambiente (atualização mais recente MSFBI v.3 / DSFBI v.3 – Install Shield).

MSFBI v.3 (a partir da Build # 4.0.2503.696)


DSFBI v.3 (Install Shield)

MSFBI v.3 (a partir da Build # 4.0.2503.696)


DSFBI v.4.1.1

MSFBI v.2 (a partir da Build # 4.0.2503.522)


DSFBI v.1.6

MSFBI v.1 (a partir da Build # 4.0.2503.477)


DSFBI v.1.1
Histórico de Atualizações

AX 2009

• Para o correto funcionamento da Interface Fiscal, é necessário ter a correta combinação entre
AX_SOFTTEAM / MSFBI / DSFBI instaladas no ambiente (atualização mais recente AX_SOFTTEAM v.3 / MSFBI
v.3 / DSFBI v.3).
• A partir da Build # 5.0.1500.2297 (KB # 976553), o controle de versões passa a ser dentro do AX
(Administration > Periodic > Fiscal Books > Fiscal books integration parameters)

MSFBI v.3 (a partir da Build # 5.0.1500.2297)


DSFBI v.3 (Install Shield)

MSFBI v.3 (a partir da Build # 5.0.1500.1073)


DSFBI v.4.1.1
FBI – Novas Funcionalidades

Novos fiscal files para CIAP

• Ativos fixos
• Transações
• Estrutura
FBI – Novas Funcionalidades
Formulário FBI Parameters
FBI – Novas Funcionalidades

Versão anterior:

• A ordem dos campos “server” e


“database” foi invertida. Isto
requer a execução de um
Upgrade Script!
Nova versão:

ReleaseUpdateDB60_FBI::updateFBIParamenterType
FBI – Novas Funcionalidades

Criação/Atualização do database intermediário

• O botão “Create intermediary


database” permite a criação do
database intermediário
(AX_SOFTTEAM) a partir do AX.
FBI – Novas Funcionalidades

Atualização do database intermediário

• O botão “Update intermediary


database” permite a atualização
do database intermediário
(AX_SOFTTEAM) quando uma
nova versão do AX for
disponibilizada
FBI – Novas Funcionalidades

Questões de segurança a serem observadas

• Ao criar o database intermediário por


dentro do AX, o login deve ser realizado por
uma conta que tenha os seguintes
privilégios (server-level):
– public
– dbcreator

• Isto de deve ao fato de que o AX emite um


comando CREATE DABABASE
FBI – Novas Funcionalidades
Controle de versão do database intermediário

Versões específicas para


controle
FBI – Novas Funcionalidades

• A versão do MS-FBI é controlada pela nova classe FBIApplicationVersion_BR


FBI – Novas Funcionalidades

• Uma nova tabela chamada DATABASE_VERSION foi criada

Os campos MAJORVERSION e MINORVERSION


guardam a versão do database intermediário

Os campos FBS_MAJORVERSION e
FBS_MINORVERSION são populados pelo DS-FBI
FBI – Novas Funcionalidades

Não será possível realizar uma exportação quando:


– A versão do MS-FBI não for a mesma que a do database intermediário
– A Major version do DS-FBI não for a mesma que a Major version do database intermediário

Para os casos acima uma mensagem será registrada no Log de erros do MS-FBI
FBI – Novas Funcionalidades

Limpeza do database intermediário

• Permite que dados antigos


existentes nas tabelas
temporárias do database
intermediário sejam
excluídos
FBI – Novas Funcionalidades

Mapeamento das empresas do Ax/Softteam


FBI – Novas Funcionalidades

Atualização para release de NF-e/CIAP (AX 2009)

Após upgrade para a release NF-e/CIAP é necessário re-criar ou atualizar o database AX_SOFTTEAM a
partir do AX e limpar tabelas FBIJobRun_BR , FBIExportedFiscalFile_BR e FBIImportLog_BR (contém
histórico de jobs)
FBI – Novas Funcionalidades

Atualização para NF-e (AX 4.0)

Para o AX 4.0 o pacote da NF-e não reflete as melhorias no processo de FBI. Caso seja aplicada a DS-FBI
v3.0 (Installshield) será necessário atualizar o database AX_SOFTTEAM a partir do script
AX_SOFTTEAM.SQL e limpar tabelas FBIJobRun_BR, FBIExportedFiscalFile_BR e FBIImportLog_BR
(contém histórico de jobs)

Os dados da versão do database intermediário devem ser atualizados diretamente na tabela database_version.
DEMO
Troubleshooting FBI
Demo Monitoração dos Jobs

• Status/Confirmação de execução (TBGL_PROCESSO)


1) Administração > Atividades Periódicas > Livro Fiscal > Gerente do trabalho > botão “Novo”
2) Criar novo job através do Wizard
3) SELECT FLG_IMPORTACAO, NRO_REG_TOTAL, NRO_REG_CONSISTENTE, NRO_REG_INCONSISTENTE, * FROM
AX_SOFTTEAM..TBGL_PROCESSO ORDER BY COD_PROCESSO DESC

4) Administração > Atividades Periódicas > Livro Fiscal > Gerente do trabalho > botão “Atualizar status”
5) SELECT * FROM AX_SOFTTEAM..TBLF_NOTFIS_TMP WHERE COD_PROCESSO = 30

6) SELECT * FROM Fiscal..NOTFIS WHERE COD_PROCESSO = 30

7) Livros Fiscais > Manutenção > Documentos > Manutenção da Nota Fiscal
Demo Monitoração dos Jobs

• A tabela TBGL_IMPORT_ANEXO no database SoftTeam contém informações importantes, como os nomes das Tabelas Finais e
Tabelas Temporárias
Demo Monitoração dos Jobs

• Anexos
Obs.: Notas de serviço são caracterizadas por terem os campos
invoicegoodsamount (valores de produtos) = 0 e invoiceservicesamount
(valores de serviços) > 0.

As notas que contêm apenas valores de produtos também são chamadas


de notas de mercadorias enquanto as notas que possuem
invoicegoodsamount e invoiceservicesamount são chamadas de notas
conjugadas.

FISCAL
Anexo Tabela AX * Classe AX ** Proc Temp1 Tabela Final
Vendors VendTable FBIFBVendorsExporter_BR PRLF_IMPORT_CADPFJ TBLF_CADPFJ_TMP CADPFJ
Customers CustTable FBIFBCustomersExporter_BR PRLF_IMPORT_CADPFJ TBLF_CADPFJ_TMP CADPFJ
Item Catalog InventTable FBIFBItemsExporter_BR PRLF_IMPORT_PRODUTO TBLF_PRODUTO_TMP PRODUTO
Inventory Várias FBIFBInventoryExporter_BR PRLF_IMPORT_INVENTARIO TBLF_INVENTARIO_TMP INVENTARIO
Vendor invoice VendInvoiceJour FBIFBVendorInvoicesExporte PRLF_IMPORT_NOTFIS TBLF_NOTFIS_TMP NOTFIS
header r_BR
Vendor invoice VendInvoiceTrans FBIFBVendorInvoiceLinesExp PRLF_IMPORT_ITEMNF TBLF_ITEMNF_TMP ITEMNF
lines orter_BR
Customer invoice CustInvoiceJour FBIFBCustomerInvoicesExpor PRLF_IMPORT_NOTFIS TBLF_NOTFIS_TMP NOTFIS
header ter_BR
Customer invoice CustInvoiceTrans FBIFBCustomerInvoiceLinesE PRLF_IMPORT_ITEMNF TBLF_ITEMNF_TMP ITEMNF
lines xporter_BR
Service invoice CustInvoiceJour FBIFBServiceCustomerInvoic PRLF_IMPORT_NOTSERV TBLF_NOTSERV_TMP NOTSERV
header esExporter_BR
Service invoice CustInvoiceTrans FBIFBServiceCustInvLinesExp PRLF_IMPORT_ITEMSERV TBLF_ITEMSERV_TMP ITEMSERV
lines orter_BR

* principal tabela
** principal classe
Demo Monitoração dos Jobs

• Anexos
Obs.: Notas de serviço são caracterizadas por terem os campos
invoicegoodsamount (valores de produtos) = 0 e invoiceservicesamount
(valores de serviços) > 0.

As notas que contêm apenas valores de produtos também são chamadas


de notas de mercadorias enquanto as notas que possuem
invoicegoodsamount e invoiceservicesamount são chamadas de notas
conjugadas.

SIR
Anexo Tabela AX * Classe AX ** Proc Temp1 Tabela Final
Vendors VendTable FBISIRVendorsExporter_BR PRSR_IMPORT_CADASTRO TBSR_CADASTRO_TMP CADASTRO
Chart of LedgerTable FBISIRChartAccountsExpor PRSR_IMPORT_PLANO_CO TBSR_PLANO_CONTAS_TMP PLANO_CONTAS
accounts ter_BR NTAS
Service types TaxServiceCode_BR FBISIRServiceTypesExporte PRSR_IMPORT_SERVICOS TBSR_SERVICOS_TMP SERVICOS
r_BR
Vendor invoice VendInvoiceJour FBISIRServiceInvoicesExpo PRSR_IMPORT_LANCAMEN TBSR_LANCAMENTO_MESTRE LANCAMENTO_MESTRE
headers rter_BR TO_MESTRE _TMP
Vendor invoice VendInvoiceTrans FBISIRServiceInvoiceLinesE PRSR_IMPORT_LANCAMEN TBSR_LANCAMENTO_ITEM_T LANCAMENTO_ITEM
lines xporter_BR TO_ITEM MP

* principal tabela
** principal classe
Demo Troubleshooting

Identificação da origem Novo


Job
do problema
(MSFBI vs. DSFBI)

TBGL_PROCESSO = S ? Status = P / I ?
a) Identificar registros
NÃO SIM c/ erros
b) Analisar causa dos
erros
Premissa básica: SIM NÃO c) Corrigir e importar
novamente
Caso os dados estejam disponíveis nas tabelas
a) verificar log do Job Manager
temporárias da database AX_SOFTTEAM, a MSFBI b) Verificar TBGL_ERRO_IMPORTACAO
está OK e problema deve estar relacionado com
dados ou DSFBI. NÃO

NRO_REG_CONSISTENTE TBGL_ERRO_IMPORTACAO
= =0?
NRO_REG_TOTAL ? NÃO

SIM
a) Checar se o registro
SIM
está OK na tabela
temporária.
Temp table = 0 ? b) Caso positivo, o
problema pode estar na
NÃO procedure de importação
da DSFBI (reportar à
SIM Microsoft).

a) Dados não foram nem carregados na


Fim tabela temporária.
b) Possível problema com a MSFBI
(reportar à Microsoft).
Demo Troubleshooting

FAQ
Q) Os jobs criados não são processados
R: Verifique se o SQL Server agent encontra-se inicializado.

Q) Zero registros são exportados


R: Verifique se os registros no AX se enquadram nas condicionais utilizadas pela classe de exportação, verificando em primeiro lugar o valor do
campo ModifiedDate (ModifiedDateTime no AX 2009) nas tabelas do AX.

Q) A fila de importação está travada e nada mais está sendo importado


R: Verifique se existe algum processo antigo com status NULL, P ou I e que esteja travando a fila de importação (procurar por processos antigos).
Neste caso marque o processo como “S” e crie um novo job.

Q) A MSFBI está dando o processo como recusado e nada está sendo exportado
R: Provavelmente está dando algum erro de insert (erro de PK). Para expor o erro, entre na classe FBIThread_BR no método runExport, comente as
linhas não comentadas, remova do comentário as linhas q estavam comentadas e execute novamente o JOB (como o processo estará sem thread
separado a tela do AX entrará no debugger).

Q) Um campo específico não está sendo importado


R: Verifique se na tabela temporária ele está ok, se estiver o problema pode estar com a procedure responsável pela importação. Caso negativo,
procure esse campo no AOT para analisar o porquê do mesmo não ser importado.

Q) Erro no upgrade checklist (post-synchronize)


R: Vefique o KB article # 941959 (You receive an error message when you run the "Postsynchronize data upgrade" process after you apply a DIS layer
or a service pack for Microsoft Dynamics AX 4.0 or if you upgrade from an earlier version).
Demo Troubleshooting

Dicas iniciais:
– durante troubleshooting, importar um anexo por vez para facilitar análise e filtragem das causas do problema
– antes de começar a modificar dados no AX/SQL, realizar backup das respectivas databases, pois geralmente acontece do cliente gerar mais
erros enquanto os dados iniciais estão sendo corrigidos
– em último caso, analisar procedure utilizada pelo anexo em questão retirando INSERT e substituindo por SELECT
– “Itens da Nota” é de onde os livros extraem informação, então nem sempre é necessário alterar campos da tab “Mestre da Nota”.
– antes de gerar os livros, executar preparação global (menu Carga Interface > Preparação Global Livro Fiscal)
– REGIST table (de onde os dados dos rpt’s são extraídos, populada quando se executa o processo de preparação global)

Exemplos:

1º) Livro Fiscal/SPED Fiscal: campo Import = 10


Grupo fiscal: Livro fiscal
Arquivos Fiscais: Cabeçalhos de nota fiscal de fornecedor
Intervalo de datas: Hoje

2º) Livro Fiscal/SPED Fiscal: campo NUMERO_DOC com caractere especial


Grupo fiscal: Livro fiscal
Arquivos Fiscais: Cabeçalhos de nota fiscal de cliente
Intervalo de datas: Hoje
Demo Troubleshooting

Exercícios:

1º) Livro Fiscal/SPED Fiscal:


Grupo fiscal: Livro fiscal
Arquivos Fiscais: Fornecedores
Intervalo de datas: 01/01/1900 - Hoje

2º) Livro Fiscal/SPED Fiscal:


Grupo fiscal: Livro fiscal
Arquivos Fiscais: Clientes
Intervalo de datas: 01/01/1900 – Hoje

3º) Livro Fiscal/SPED Fiscal:


Grupo fiscal: Livro fiscal
Arquivos Fiscais: Cabeçalhos de nota fiscal de fornecedor + Linhas de nota fiscal de fornecedor
Intervalo de datas: 01/10/2009 – 01/10/2009

4º) Livro Fiscal/SPED Fiscal:


Grupo fiscal: Livro fiscal
Arquivos Fiscais: Fornecedores
Intervalo de datas: 01/01/1900 – Hoje

5º) Livro Fiscal/SPED Fiscal:


Grupo fiscal: Livro fiscal
Arquivos Fiscais: Fornecedores
Intervalo de datas: 01/01/1900 – Hoje

6º) Livro Fiscal/SPED Fiscal:


Grupo fiscal: Livro fiscal
Arquivos Fiscais: Cabeçalhos de nota fiscal de cliente + Linhas de nota fiscal de cliente
Intervalo de datas: 01/10/2009 – Hoje
LAB 2

Monitoração e Troubleshooting
(60 min.)
Inside FBI

\Projects\Shared\BR_FBI
Onde se encontram localizados todos os objetos do AX
relacionados com a FBI.

Este projeto é criado inicialmente com a aplicação do KB #


972816 (FBI for AX 2009 SP1) e posteriomente atualizado
sempre que houverem correções relacionadas com a FBI.

Detalharemos seus principais componentes nos slides a seguir.


Inside FBI

BR_FBI\Classes\Validators
- validação ocorre na chamada do método insert da classe
principal

BR_FBI\Classes\Log
- chamados pelas classes de validação se houver algo para logar
(FBIFiscalFileExporter_BR)
Inside FBI

BR_FBI\Classes\SQLExecutor
- responsável por inserir os registros no SQL
(FBISQLExecutor_BR).
- abre a conexão com o SQL via ODBC tomando como
parâmetro o form “Parâmetros de Integração de Livros
Fiscais” (Administração > Atividades Periódicas > Livros
fiscais).

BR_FBI\Classes\Param
- responsável pelos agendamentos batch dos jobs criados
através do “Gerente do Trabalho” (Administração >
Atividades Periódicas > Livros fiscais) como intervalo de
datas, arquivo fiscal, etc.

BR_FBI\Classes\FBIBaseBatch
- execução dos batches (RunBaseBatch).

BR_FBI\Classes\Dialog
- dialog box que abre no wizard de criação dos batch jobs.
Inside FBI

BR_FBI\Classes\Reflection (quero infos do AX, de mim


mesmo)
- usada para pegar infos do AOT como campos de Auto
Report para logs, ou quando se seleciona determinado
Fiscal Group (ex.: CIAP) no job wizard, as classes
reflection são as responsáveis por atualizar os tipos de
arquivos fiscais mostrados no wizard.

BR_FBI\Classes\Thread
- executa o processo de exportação, quando executada cria
um objeto thread para execução dos jobs que não trava a
utilização do AX para o usuário.
- as threads são usadas para otimização de processos longos,
ex.: usuário cria 2 jobs longos, através da thread é possível
criá-los em paralelo (o usuário não precisa esperar o 1º job
terminar para poder criar o 2º job).

BR_FBI\Classes\Export
- classes utilizadas no processo de exportação.
- \External\ se refere à database AX_SOFTTEAM
- \Poller\ atualiza o status no job manager dos
processos executados pela DSFBI +
TBGL_ERRO_IMPORTACAO
Inside FBI

BR_FBI\Classes\DAO (Data Access Object)


- dicionário de dados, cadastro de parâmetros dos exporters.
- não poderia entregar estes dados em forma de tabela de
cadastro no SQL pois os deploys dos layers DIP (AX 4.0) e
GLP (AX 2009) não incluem arquivos dat/def.
DEMO
Inside FBI
Demo Principais classes e objetos no AX

Method doExport()

Este é o método principal utilizado durante troubleshooting para analisar como os registros do AX são coletados para exportação, pois é este método
que contém as cláusulas de seleção e condicionais (regras de negócio e validações) para selecionar e exportar os registros da database do AX de
acordo com o tipo de arquivo fiscal.

O seguinte trecho de código mostra o método doExport() para a classe FBISIRServiceInvoicesExporter_BR (Cabeçalhos de Notas Fiscais de serviço
do SIR).
Demo Principais classes e objetos no AX

Arquivos Fiscais vs. Classes

Para cada tipo de arquivo fiscal da FBI, existe uma classe correspondente no AOT cujo método principal é o doExport(). Estas classes se encontram no
projeto BR_FBI (Projects\Shared\BR_FBI\Classes\Export\ExportFiscalFile\FiscalFileExporter) e na raiz de classes do AOT.
Demo Principais classes e objetos no AX

Um outro método para descobrir o exporter quando a nomenclatura do mesmo não é tão intuitiva:
a) \Data Dictionary\Base Enums\FBIFiscalFileType_BR
b) \Classes\FBIExportFiscalFile_BR\createExporter
Demo Principais classes e objetos no AX

Diagrama Sequencial

Visão geral de como os objetos da MSFBI interagem durante um processo de exportação específico de Cabeçalho de Notas Fiscais do SIR (classe
FBISIRServiceInvoicesExporter_BR). * sequência executada em modo threaded.

1ª 2ª 3ª 4ª 5ª 6ª

Wizard Create Job : Dialog : Thread : Export : ExportJob : ExportFiscalFile :


FBIJobWizard_BR FBIJobBatch_BR FBIThread_BR FBIExport_BR FBIExportJob_BR FBIExportFiscalFile_BR

run(); 7ª
execute(); External :
runExport
(FBIJobCode_BR); FBIProcessFBS_BR

run();

Config Tables: objetos criados para inserção na


FBIJobs_BR armazenar parâmetros TBGL_PROCESSO
FBIJobFiscalFile_BR de execução na memória:
FBIJob_BR
FBISQLExecutor_BR
FBIExport_BR
Demo Principais classes e objetos no AX

8ª 9ª 10ª 11ª 12ª


FiscalFileExporter : ModuleExporter : TableReplicator : AX_SOFTTEAM
AX Objects
FBIFiscalFileExporter_BR FBISIRServiceInvoicesExporter_BR FBITableReplicator_BR Temp Tables

run();

doExport();
getData on AX tables

returnData inserting on AX
insert(lancamentosSIR); Temp Table lancamentosSIR

replicateLine(lancamentosSIR);
insert data on temp tables
Demo Debugging

- Para expor os erros, entre na classe FBIThread_BR no método runExport, realize as alterações abaixo e execute novamente o JOB (como o
processo estará sem thread separado, a tela do AX entrará no debugger)

- Habilitar debugging mode no AX:


a) menu Ferramentas > Opções > tab ‘Desenvolvimento’ > Modo de depuração = Em ponto de quebra
b) Microsoft Dynamics AX Server Configuration Utility > tab ‘Application Object Server’ > selecionar opção ‘Enable breakpoints to debug X++
code running on this server’

-Para listar todos os breakpoints, pressione Shift + F9


-Breakpoints são persistentes na tabela SysBreakpoints

ANTES

DEPOIS
Demo Debugging

Exemplos:

1º) Livro Fiscal/SPED Fiscal:


Grupo fiscal: Livro fiscal
Arquivos Fiscais: Cabeçalhos de nota fiscal de fornecedor
Intervalo de datas: Hoje

Exercícios:

1º) Livro Fiscal/SPED Fiscal:


Grupo fiscal: Livro fiscal
Arquivos Fiscais: Cabeçalhos de nota fiscal de fornecedor
Intervalo de datas: 10/10/2009 – 10/10/2009

2º) SIR:
Grupo fiscal: SIR
Arquivos Fiscais: Notas fiscais de serviço
Intervalo de datas: 01/09/2009 – 01/09/2009
LAB 3

Debugging
(90 min.)
Documentação

AX 4.0

Microsoft Dynamics AX 4.0 SP2 - Brazilian Localization Update (Fiscal Book Integration v3)
https://mbs.microsoft.com/customersource/downloads/servicepacks/msdax4sp2ptbloupdate.htm?printpage=false&stext=AX brazilian

The Brazil Nota Fiscal Eletrônica (NF-e) country-specific update is available for Microsoft Dynamics AX 4.0 Service pack 2 (SP2)
https://mbs.microsoft.com/knowledgebase/kbdisplay.aspx?wtntzsmnwukntmmyymyqksymxosooumlszzwytsrvspktqyp

AX 2009

KB # 972816 - The Brazilian fiscal book integration (FBI) is available for Microsoft Dynamics AX 2009 Service Pack 1 (SP1)
https://mbs.microsoft.com/knowledgebase/kbdisplay.aspx?wtntzsmnwukntmmyymyqksymxosooumlqpmruzumwtvtnpuu

Fiscal Book Integration Considerations for Microsoft Dynamics AX 2009 – Brazil


https://mbs.microsoft.com/customersource/documentation/systemrequirements/MSD_AX2009FiscalBookIntegrationBrazil

The Brazil Nota Fiscal Eletrônica (NF-e) country-specific update is available for Microsoft Dynamics AX 2009 SP1
https://mbs.microsoft.com/knowledgebase/kbdisplay.aspx?wtntzsmnwukntmmyymyqksymxosooumlqtwsszkqzusqvykp

VPC for Microsoft Dynamics AX 2009


https://mbs.microsoft.com/partnersource/deployment/methodology/vpc/msdyn_vpcax2009_pt.htm?p=289
Q&A
e-mail: cshimoda@microsoft.com
Apêndice A – Validações
Apêndice A – Validações

Pontos importantes para a integração do SPED Fiscal/Livros Fiscais

Parâmetros padrão da integração de livros fiscais


Para configurar as seguintes informações obrigatórias necessárias pela integração de livros fiscais, clique em

Básico > Configuração > Brasil > Parâmetros brasileiros > guia Livro fiscal.

• Tipo de volume
• Quantidade de volume
• Método de pagamento principal
• Nota fiscal de texto livre – padrão de item
• Nota fiscal de texto livre – padrão de serviço

O modo de entrega deve ser atualizado com os códigos necessários pela legislação e esperados no SPED fiscal. Os códigos
disponíveis de acordo com a legislação são os seguintes:

0 - Terrestre
1 - Ferroviário
2 – Terrestre-Ferroviário
3 - Aquático
4 - Dutoviario
5 - Aéreo
9 - Outros

Esses não são os códigos legais, mas são mapeados para os códigos legais da integração de livros fiscais. Eles foram criados
devido à alteração dos códigos oficiais durante o desenvolvimento da integração do SPED fiscal.
Apêndice A – Validações

Tipos de produto
Os tipos de produto devem conter os seguintes códigos oficiais de tipo de produto reconhecidos pelo SPED fiscal:

00 – Item de revenda
01 – Matéria-prima
02 - Pacote
03 – Item em processo
04 – Item concluído
05 – Subitem
06 – Item intermediário
07 – Item de uso e consumo
08 – Ativo fixo
09 – Serviços
10 – Outra matéria-prima
99 – Outros

1. Para configurar os tipos de produto, clique em Estoque > Itens > guia Informações fiscais
Apêndice A – Validações

Pontos importantes para a integração do SPED Contábil

Anteriomente a execução da integração do SPED Contábil, você deve “atualizar o saldo do período contábil“ no Microsoft Dynamcs
AX. Clique em Contabilidade> Atividades Periódicas > Atualizar o saldo do período contábil.

Você deve configurar as informações requeridas pelo SPED Contábil no Microsoft Dynamics AX nos seguintes locais:

Contabilidade > Gráfico de Contas > tab Geral > Conta primária
Básico > Configuração > Informações sobre a empresa > tab Outros > Tipo de livro contábil
Básico > Configuração > Informações sobre a empresa > tab Outros > Origem contábil

Respeitar a Periodicidade.

Ao executar a integração do anexo Plano de Contas, alguns pontos devem ser analisados:

1- Somente as contas contábeis com movimento serão exportadas


2- Contas do tipo Cabeçalho não são exportadas
3- Contas do tipo Total são exportadas somente caso as contas filhas tenham movimento.
Apêndice A – Validações

Validações do FBI

• (Posting time validation) ocorre em Tempo de posting – execução e efetivação da transação do AX.
• (Data validation at integration time) ocorre no momento da integração.

Durante o processo de inplementação no cliente , a integração Fiscal deve ser realizada primeiramente no ambiente de
desenvolvimento e diversas vezes, para que todos problemas de parametrização sejam identificados durante a fase de testes.
Apêndice A – Validações

Tipo de Mensagens de Validação

• Erros: os erros registrados nesta categoria não permitem a integração do registro com o produto fiscal, mas,
após a inserção dos dados ausentes ou de sua correção no Microsoft Dynamics AX, a interface poderá ser
executada novamente e o registro será integrado.

• Avisos: os erros registrados nesta categoria não permitem a integração do registro com o produto fiscal, mas,
após a inserção dos dados ausentes ou sua correção no Microsoft Dynamics AX, a interface poderá ser
executada novamente e o registro será integrado. Esses erros são registrados como avisos, pois não são
transferidos para as transações do Microsoft Dynamics AX, o que significa que nenhuma transação do
Microsoft Dynamics AX que exija essa informação foi processada, geralmente por falta de informações de
dados mestre.

Ex.: suponha que estejam faltando as informações de endereço de um cliente ou fornecedor. O cliente ou o
fornecedor não teve nenhuma nota fiscal lançada no Microsoft Dynamics AX, portanto, ela refere-se a um registro
autônomo sem qualquer impacto direto sobre as notas fiscais a serem informadas nos Livros fiscais, no SPED Fiscal
ou no IN86.

• Erros de dados: os erros desta categoria não permitem a integração do registro com o produto fiscal, e a
forma de corrigir os dados é atualizando os próprios dados.

Nota: apenas para os campos de chave primária, há um recurso no Microsoft Dynamics AX que renomeia a chave
primária específica para uma nova chave primária e atualiza as tabelas relacionadas. Para acessar a chave, clique
com o botão direito do mouse no campo relacionado a uma chave primária na tabela
Apêndice A – Validações

(Livro Fiscal / SPED Fiscal) - Cliente

MS
Anexo Condição AX Tipo Mensagem
FBI
Cliente Caso a IE não esteja configurada para Aviso A IE deve ser configurado no cliente.......
o cliente o qual usa a categoria
“Empresa”

Cliente Caso a categoria do cliente seja Aviso IE inválido no cliente .....


“Empresa” e a IE seja diferente de
“Isento” não numérico com mais do
que 14 dígitos

Cliente O nome da rua, numero, cidade, Aviso A rua, o número, a cidade, o estado e o
estado ou CEP esteja em branco ou CEP devem ser adicionados ao endereço
nulo. do cliente ....

Cliente Caso o nome do cliente esteja em Erro O nome para o cliente......está ausente.
branco ou nulo.

Cliente No caso do nome do cliente possuir Aviso O nome do cliente ......tem mais de 70
mais 70 caracteres. caracteres

Cliente Caso a categoria do cliente seja = Aviso O cliente deve ter uma categoria diferente
“Nenhum‘’ de nenhum cliente.....

Cliente Caso os dígitos de verificação do Erro CNPJ/CPF é inválido para o cliente


cliente estejam incorretos para CPF
caso catergoria “Pessoa” ou CNPJ
caso categoria “Empresa”
Apêndice A – Validações

MS
Anexo Condição AX Tipo Mensagem
FBI
Cliente Caso não esteja configurada CPF se Erro CNPJ/CPF é inválido para o cliente
categoria “Pessoa” ou CNPJ caso
categoria “Empresa”

Cliente Código IBGE não foi encontrado para Erro Código do IBGE da cidade.....está ausente.
cidade

Cliente No caso de existirem mais de 14 Erro de dados A conta do cliente..... não pode ter mais de
caracteres na conta do cliente 14 caracteres.
Apêndice A – Validações

(Livro Fiscal / SPED Fiscal) - Fornecedor

MS
Anexo Condição AX Tipo Mensagem
FBI
Fornecedor Código IBGE não foi encontrado Erro Código do IBGE da cidade.....está ausente.
para cidade

Fornecedor Caso a IE não esteja configurada Aviso A IE deve ser configurado no


para o fornecedor o qual usa a fornecedor.......
categoria “Empresa”

Fornecedor Caso a categoria do fornecedor Aviso IE inválido no fornecedor .....


seja “Empresa” e a IE seja
diferente de “Isento” não
numérico com mais do que 14
dígitos

Fornecedor O nome da rua, numero, cidade, Aviso A rua, o número, a cidade, o estado e o
estado ou CEP esteja em branco CEP devem ser adicionados ao endereço
ou nulo. do fornecedor ....

Fornecedor Caso o nome do fornecedor esteja Erro O nome para o fornecedor......está


em branco ou nulo. ausente.

Fornecedor No caso de existirem mais de 14 Erro de dados A conta do fornecedor..... não pode ter
caracteres na conta do fornecedor mais de 14 caracteres.

Fornecedor No caso do nome do fornecedor Aviso O nome do fornecedor ......tem mais de


possuir mais 70 caracteres. 70 caracteres
Apêndice A – Validações

MS
Anexo Condição AX Tipo Mensagem
FBI
Fornecedor Caso os dígitos de verificação do Erro CNPJ/CPF é inválido para o fornecedor
Fornecedor estejam incorretos
para CPF caso catergoria
“Pessoa” ou CNPJ caso categoria
“Empresa”

Fornecedor Caso a categoria do Aviso O fornecedor deve ter uma categoria


fornecedor seja = “Nenhum‘’ diferente de nenhum cliente.....

Fornecedor Caso não esteja configurada CPF Erro CNPJ/CPF é inválido para o cliente
se categoria “Pessoa” ou CNPJ
caso categoria “Empresa”
Apêndice A – Validações

(Livro Fiscal / SPED Fiscal) - Item

MS
Anexo Condição AX Tipo Mensagem
FBI
Item Descrição do Item Branco ou Erro A descrição do item… está ausente
Nulo

Item Caso a classificação Fiscal seja Erro Classificação Fiscal ausente para o
branco ou nula para itens do item
tipo “Item” ou “BOM”

Item Código do imposto sobre venda Erro Código do Imposto IPI é


da classificação fiscal está obrigatório quando a integração
branco ou nulo sendo o item do de livros fiscais está habilitada
tipo “Item” ou “BOM”

Item Caso o tipo do produto seja Erro O tipo de produto no item.... está
branco ou nulo ausente.

Item Caso o tipo do produto seja Erro A configuração do tipo de produto


diferente de: no item .... está incorreta.
00,01,02,03,04,05,06,07,08,09,
10,99

Item Caso não exista um código de Erro Nenhum código de imposto sobre
imposto do tipo ICMS vendas foi configurado como
configurado como padrão para o padrão para o estado ….
estado
Apêndice A – Validações

MSF
Anexo Condição AX Tipo Mensagem
BI
Item Caso o nome do item tenha Aviso O nome do item .... tem mais de 53
mais do que 53 caracteres. caracteres. O nome foi truncado na
integração.

Item No caso da unidade de Aviso A unidade de estoque deve ser


estoque estar vazia nos dados informada no item .....
mestres do item.

Item Caso os seguintes caracteres Erro de dados O item .....tem um caractere


sejam encontrados no ItemID: inválido.
‘/ ‘, ‘*’, ‘,’, ‘&’,’%’,’$’,
‘#’,’@’,’;’,’:’’’’,’”, ‘?’, ‘<’, ‘>’, ’+’, ‘[‘,
‘]’,’{‘,’}’, ‘|’,’\’, ‘`’, ‘~’,’(‘, ‘)’

Item No caso de existirem mais de Erro de dados Item….não pode ter mais do que 14
14 caracteres na conta do caracteres
fornecedor
Apêndice A – Validações

(Livro Fiscal / SPED Fiscal) – NF de Entrada

MS
Anexo Condição AX Tipo Mensagem
FBI
Nota Fiscal (*) Caso o nome da rua, numero, A rua, o número, a cidade, o estado
Entrada cidade, estado ou CEP esteja em ------ e o CEP devem ser adicionados ao
branco no endereço do fornecedor. endereço do fornecedor....

Nota Fiscal (*) Caso a categoria do IE inválido no fornecedor.


Entrada fornecedor seja “Empresa” e a IE
seja diferente de “Isento” não ------
numérico com mais do que 14
dígitos

Nota Fiscal (*) Caso a IE não esteja configurada A IE deve ser configurada no
Entrada para o fornecedor o qual usa a ------ fornecedor.......
categoria “Empresa”

Nota Fiscal (*) Código IBGE não foi Erro O código do IBGE da cidade....está
Entrada encontrado para cidade no ausente.
endereço do fornecedor

Nota Fiscal (*) Caso o modelo esteja vazio O campo Modelo do documento é
Entrada ------ obrigatório

(*) Não é permitido lançar a Nota Fiscal


Apêndice A – Validações

MS
Anexo Condição AX Tipo Mensagem
FBI
Nota Fiscal (*) Caso a data de vencimento A data de vencimento não pode ser
Entrada seja anterior a data do ------ anterior à data do documento.
documento.

Nota Fiscal Caso os dígitos de verificação do Erro CNPJ/CPF é inválido para o


Entrada cliente estejam incorretos para fornecedor.
CPF caso categoria “Pessoa” ou
CNPJ caso categoria “Empresa”

Nota Fiscal Caso não esteja configurada CPF Erro CNPJ/CPF é inválido para o
Entrada se categoria “Pessoa” ou CNPJ fornecedor.
caso categoria “Empresa”

Nota Fiscal (*) Caso a unidade de compra A unidade de compra deve ser
Entrada de qualquer item esteja vazia e ------ adicionada a ordem de compra.....,
este seja do tipo “Item” ou no item ......
“BOM”

Nota Fiscal No caso de não haver apenas Erro de dados O número da nota fiscal .... deve ser
Entrada números como parte do número numérico.
da nota fiscal.

Nota Fiscal No caso de haver mais de 09 Erro de dados O número da nota fiscal....não pode
Entrada posições com o número da ter mais de 9 caracteres.
fatura.
Apêndice A – Validações

(Livro Fiscal / SPED Fiscal) – NF de Saída

MS
Anexo Condição AX Tipo Mensagem
FBI
Nota Fiscal (*) Caso o nome da rua, A rua, o número, a cidade, o
Saída numero, cidade, estado ou CEP ------ estado e o CEP devem ser
esteja em branco no endereço adicionados ao endereço do
do cliente. cliente....

Nota Fiscal (*) Caso o modelo seja vazio O campo Modelo do documento é
Saída ------ obrigatório

Nota Fiscal (*) Caso a categoria do cliente IE inválido no cliente.


Saída seja “Empresa” e a IE seja ------
diferente de “Isento” não
numérico com mais do que 14
dígitos

Nota Fiscal (*) Caso a IE não esteja configurada A IE deve ser configurado no
Saída para o cliente o qual usa a ------ cliente.......
categoria “Empresa”

Nota Fiscal (*) Caso o código IBGE esteja Erro O código do IBGE deve ser
Saída vazio para a cidade do endereço adicionado à cidade ..... do
da nota fiscal endereço de entrega do cliente, na
.......

(*) Não é permitido lançar a Nota Fiscal


Apêndice A – Validações

MS
Anexo Condição AX Tipo Mensagem
FBI
Nota Fiscal (*) Caso o código IBGE esteja Erro O código do IBGE deve ser
Saída vazio para a cidade do endereço adicionado à cidade ..... do
de entrega da nota fiscal endereço de entrega do cliente,
na .......
Nota Fiscal (*) Caso a data de vencimento A data de vencimento não pode ser
Saída seja anterior a data do ------ anterior à data do documento.
documento.

Nota Fiscal Caso os dígitos de verificação do Erro CNPJ/CPF é inválido para o cliente.
Saída cliente estejam incorretos para
CPF caso catergoria “Pessoa” ou
CNPJ caso categoria “Empresa”

Nota Fiscal Caso não esteja configurada CPF Erro CNPJ/CPF é inválido para o cliente.
Saída se categoria “Pessoa” ou CNPJ
caso categoria “Empresa”

Nota Fiscal (*) Caso a unidade de venda de A unidade de vendas deve ser
Saída qualquer item esteja vazia e ------ adicionada a ordem de compra.....,
este seja do tipo “Item” ou no item ......
“BOM”

Nota Fiscal No caso de não haver apenas Erro de dados O número da nota fiscal .... deve ser
Saída números como parte do número numérico.
da nota fiscal.

Nota Fiscal No caso de haver mais de 09 Erro de dados O número da nota fiscal....não pode
Saída posições com o número da ter mais de 9 caracteres.
fatura.
Apêndice A – Validações

(SPED Contábil) – Plano de Contas

MS DS
Anexo Condição Tipo Mensagem
FBI FBI
Plano de Caso a periodicidade do anexo Aviso O arquivo deve ser importado
Contas não seja a prevista mensalmente.

Plano de Caso o campo data inicial da Erro Error Code: 116; Error Message:
Contas vigência não esteja preenchido ‘Campo Obrigatório.’;Error Source:
‘DAT_INICIAL_VIGENCIA’

Plano de Caso o campo relativo ao codigo Erro Error Code: 116; Error Message:
Contas da conta não esteja preenchido ‘Campo Obrigatório.’;Error Source:
‘COD_CONTA’

Plano de Caso o campo relativo ao nome Erro Error Code: 116; Error Message:
Contas da conta não esteja preenchido ‘Campo Obrigatório.’;Error Source:
‘NOM_CONTA’

Plano de Caso o campo relativo ao código Erro Error Code: 116; Error Message:
Contas da natureza não esteja ‘Campo Obrigatório.’;Error Source:
preenchido ‘COD_NATUREZA’

Plano de Caso o campo relativo ao tipo da Erro Error Code: 116; Error Message:
Contas conta não esteja preenchido ‘Campo Obrigatório.’;Error Source:
‘TIP_CONTA’

Plano de Caso o campo /valor relativo ao Erro Error Code: 116; Error Message:
Contas nro_nivel não esteja preenchido. ‘Campo Obrigatório.’;Error Source:
‘NRO_NIVEL’
Apêndice A – Validações

(SPED Contábil) – Saldo do Período

DS
Anexo Condição AX Tipo Mensagem
FBI
Saldo do Caso a periodicidade do anexo Aviso O arquivo deve ser importado
Período não seja a prevista mensalmente.

Saldo do Caso o campo data inicial da Erro Error Code: 116; Error Message:
Período vigência não esteja preenchido ‘Campo Obrigatório.’;Error
Source: ‘DAT_INICIAL’

Saldo do Caso o campo data final da Erro Error Code: 116; Error Message:
Período vigência não esteja preenchido ‘Campo Obrigatório.’;Error
Source: ‘DAT_FINAL’

Saldo do Caso o campo codigo da conta Erro Error Code: 116; Error Message:
Período não esteja preenchido ‘Campo Obrigatório.’;Error
Source: ‘COD_CONTA’

Saldo do Caso o campo codigo centro Erro Error Code: 116; Error Message:
Período decusto não esteja preenchido ‘Campo Obrigatório.’;Error
Source: ‘COD_CCUSTO’
Apêndice A – Validações

(SPED Contábil) – Comprovantes/Lançamentos Contábeis

MS DS
Anexo Condição Tipo Mensagem
FBI FBI
Lançamentos Caso a peridiodicidade do anexo Aviso O arquivo deve ser importado
Contábeis não seja a prevista mensalmente.

Lançamentos Caso o campo Origem Contábil Erro Error Code: 116; Error Message:
Contábeis não esteja preenchido ‘Campo Obrigatório.’;Error Source:
‘ COD_ORIGEM’

Lançamentos Caso o campo Tipo de Livro Erro Error Code: 116; Error Message:
Contábeis Contábill não esteja preenchido ‘Campo Obrigatório.’;Error Source:
‘TIP_ESCRITURACAO’

Lançamentos Caso o campo numero do Erro Error Code: 116; Error Message:
Contábeis lançamento não esteja ‘Campo Obrigatório.’;Error Source:
preenchido ‘NRO_LANCTO’

Lançamentos Caso o campo codigo da conta Erro Error Code: 116; Error Message:
Contábeis não esteja preenchido ‘Campo Obrigatório.’;Error Source:
‘COD_CONTA’

Lançamentos Caso o campo numero da Erro Error Code: 116; Error Message:
Contábeis sequência não esteja ‘Campo Obrigatório.’;Error Source:
preenchido ‘NRO_SEQ_LANCTO’
Apêndice A – Validações

MS DS
Anexo Condição Tipo Mensagem
FBI FBI
Lançamentos Caso o campo data de Erro Error Code: 116; Error Message:
Contábeis lançamento não esteja ‘Campo Obrigatório.’;Error Source:
preenchido ‘DAT_LANCTO’
Lançamentos Caso o campo tipo de Erro Error Code: 116; Error Message:
Contábeis lançamento não esteja ‘Campo Obrigatório.’;Error Source:
preenchido ‘TIP_LANCTO’

Lançamentos Caso o campo valor do Erro Error Code: 116; Error Message:
Contábeis lançamento não esteja ‘Campo Obrigatório.’;Error Source:
preenchido ‘VLR_LANCTO’
Apêndice B – Queries auxiliares
Obs.: todas as databases SoftTeam são Case Sensitive

Monitoração
-- verificação de status dos jobs
SELECT FLG_IMPORTACAO, NRO_REG_TOTAL, NRO_REG_CONSISTENTE, NRO_REG_INCONSISTENTE, DES_IMPORTACAO , *
FROM AX_SOFTTEAM..TBGL_PROCESSO
ORDER BY COD_PROCESSO DESC

obs.: observar campo DES_IMPORTACAO para tentar entender a natureza do erro

-- CLIENTE (Livro Fiscal)


SELECT * FROM AX_SOFTTEAM..TBLF_CADPFJ_TMP WHERE CATEGO_PFJ = 1
SELECT * FROM AX_SOFTTEAM..TBLF_CADPFJ_ERR WHERE COD_PROCESSO = XX
SELECT * FROM Fiscal..CADPFJ WHERE CATEGO_PFJ = 1

-- FORNECEDOR (Livro Fiscal)


SELECT * FROM AX_SOFTTEAM..TBLF_CADPFJ_TMP WHERE CATEGO_PFJ = 2
SELECT * FROM AX_SOFTTEAM..TBLF_CADPFJ_ERR WHERE COD_PROCESSO = XX
SELECT * FROM Fiscal..CADPFJ WHERE CATEGO_PFJ = 2

-- NF MESTRE ENTRADA (Livro Fiscal)


SELECT * FROM AX_SOFTTEAM..TBLF_NOTFIS_TMP WHERE INDMOV_DOC = 'E'
SELECT * FROM AX_SOFTTEAM..TBLF_NOTFIS_ERR WHERE INDMOV_DOC = 'E' AND COD_PROCESSO = XX
SELECT * FROM Fiscal..NOTFIS WHERE INDMOV_DOC = 'E‘

-- NF MESTRE SAIDA (Livro Fiscal)


SELECT * FROM AX_SOFTTEAM..TBLF_NOTFIS_TMP WHERE INDMOV_DOC = 'S' AND COD_PROCESSO = XX
SELECT * FROM AX_SOFTTEAM..TBLF_NOTFIS_ERR WHERE INDMOV_DOC = 'S' AND COD_PROCESSO = XX
SELECT * FROM Fiscal..NOTFIS WHERE INDMOV_DOC = 'S‘
Apêndice B – Queries auxiliares
Obs.: todas as databases SoftTeam são Case Sensitive

Monitoração
-- contadores de importação Livro Fiscal
USE Fiscal
GO

SELECT COUNT(*), 'CLIENTE' FROM CADPFJ WHERE CATEGO_PFJ = 1 UNION


SELECT COUNT(*), 'FORNECEDOR' FROM CADPFJ WHERE CATEGO_PFJ = 2 UNION
SELECT COUNT(*), 'PRODUTO' FROM PRODUTO UNION
SELECT COUNT(*), 'INVENTARIO' FROM INVENTARIO UNION
SELECT COUNT(*), 'NF ENTRADA' FROM NOTFIS WHERE INDMOV_DOC = 'E‘ UNION
SELECT COUNT(*), 'ITEM NF ENTRADA' FROM ITEMNF WHERE INDMOV_ITE = 'E‘ UNION
SELECT COUNT(*), 'NF SAIDA' FROM NOTFIS WHERE INDMOV_DOC = 'S’ UNION
SELECT COUNT(*), 'ITEM NF SAIDA' FROM ITEMNF WHERE INDMOV_ITE = 'S‘

-- contadores de importação SIR


USE SIR
GO

SELECT COUNT(*), 'CADASTRO' FROM CADASTRO UNION


SELECT COUNT(*), 'PLANO_CONTAS' FROM PLANO_CONTAS UNION
SELECT COUNT(*), 'SERVICOS' FROM SERVICOS UNION
SELECT COUNT(*), 'MESTRE' FROM LANCAMENTO_MESTRE UNION
SELECT COUNT(*), 'ITEM' FROM LANCAMENTO_ITEM
Apêndice B – Queries auxiliares

Importação parcial
-- comparação registros importados vs não importados (NF Mestre Saída - Livro Fiscal)
SELECT XX AS Processo,
'NF Mestre Saída' AS Descricao,ax.Total,temp1.Total,(ax.Total - temp1.Total) AS 'ax - temp1',
softteam.Total,(temp1.Total - softteam.Total) AS 'temp1 - softteam',(ax.Total - softteam.Total) AS 'ax - softteam'
FROM (
SELECT COUNT(*) AS Total
FROM ZZ..CustInvoiceJour
WHERE DATAAREAID = 'SFT'
) AS ax,
(
SELECT COUNT(*) AS Total
FROM AX_SOFTTEAM..TBLF_NOTFIS_TMP
WHERE COD_PROCESSO = XX
AND INDMOV_DOC = 'S' AND CD_EMP = '1' AND CD_ESTAB = '1'
) AS temp1,
(
SELECT COUNT(*) AS Total
FROM Fiscal..NOTFIS
WHERE INDMOV_DOC = 'S' AND CD_EMP = '1' AND CD_ESTAB = '1'
) AS softteam

obs.1: substituir XX pelo código de processo (COD_PROCESSO) , ZZ pelo nome da database do AX e indicar demais campos (DataAreaID, CD_EMP,
CD_ESTAB).

obs.2: incluir novos filtros conforme necessidade (ex.: range de datas).


Apêndice B – Queries auxiliares

Identificação de erros
-- verificação da tabela de erros
SELECT * FROM TBGL_ERRO_IMPORTACAO WHERE COD_PROCESSO = XX

obs.: se não existirem dados é porque não houve erro.

-- verificação da relação do código de erro


SELECT * FROM Fiscal..TB_TIPO_ERRO

Erros SIR

-- encontrar NF´s sem cadastro


SELECT CNPJ_CPF,* FROM SIR..TBSR_LANCAMENTO_MESTRE_TMP
WHERE CNPJ_CPF NOT IN (SELECT DISTINCT CNPJ_CPF FROM SIR..CADASTRO)

-- encontrar CNPJ_CPF duplicados


SELECT * FROM SIR..TBSR_CADASTRO_TMP WHERE CNPJ_CPF IN (‘XXXXXXXXXXXXX')

-- encontrar NRO_SEQ na tabela de erros


SELECT * FROM TBGL_ERRO_IMPORTACAO WHERE COD_PROCESSO = XX AND NRO_SEQ IN (ZZZZ, ZZZZ)
Apêndice C – Layer technology

• Application object layers


– Hierarquia de níveis
• Cada layer é salvo em um arquivo separado
Ax<layer>.aod
ex.: Axsys.aod para o layer SYS, Axhfx.aod para o
layer HFX, etc.
• A extensão .aod significa Application Object Data
file.

• Patch layers
– Adicionalmente, cada layer possui um patch layer (SYP, GLP, BUP, VAP, CUP e USP).
– Os patch layers foram criados para facilitar a incorporação de atualizações na aplicação, como Service
Packs.
Apêndice C – Layer technology

User: Customizações próprias dos usuários

Customer: Customizações próprias dos clientes

Partner: Layer de parceiros para funcionalidades específicas de clientes

Business: Verticais desenvolvidas por parceiros

Solution: Microsoft Certified solutions

Hotfix: Servicing

Global solutions: Funcionalidades Regionais

System: Standard application


Apêndice C – Layer technology

16 layers
4 layers renomeados
Industry solutions side-by-side (até 5)
Apêndice C – Layer technology

Overlayering (layers vazios)

- Um layer vazio é transparente


- Elementos de layer(s) inferiores são usados
Apêndice C – Layer technology

Overlayering (Customização)

- Ao customizar elementos existentes teremos


- Cópia de elementos existentes para o seu layer
- Elementos existentes serão escondidos (hiding)
Apêndice C – Layer technology

Overlayering (Conflitos de upgrade)

- Durante upgrade de versões, conflitos poderão ocorrer quando


- Você tiver customizado um elemento, e
- Microsoft alterou o elemento
Apêndice C – Layer technology

Overlayering (Tips and tricks)

Evite overlayering sempre que possível (adicionar novos elementos não é


overlayering)
Prefira overlayering de elementos simples
Prefira overlayering de elementos menos propensos à sofrer alterações
Apêndice D – AX 2009 service releases

AX 2009 Patching Strategy

AX2009 Patch Types


Binary patches (contém arquivos .msp para atualização de componentes e object server)
Application layer patches (contém um arquivo .cab que consiste de um .xpo e um .xml que direciona
para qual layer o fix pertence - ex.SYP,GLP)
Nomenclatura
Objetivos
Fixes individuais (sem a necessidade de entregar HF's via DIS/DIP layers)
Consistência durante patching para SYS e GLS (no AX 4.0 SYS HF's > via DIS e GLS HF's > via DIP)
Documentação de Fix para cada patch
Tracking via Hot Fix manifest (classe SysHotfixManifest - ex.KB956561)
Isolar patches de aplicação das customizações (no AX 4.0 ao importar xpo's os mesmos poderiam ficar
na cus, var ou usr)
Alinhamento com estratégia de nomenclatura da Microsoft para patches
Apêndice D – AX 2009 service releases

Instalação de binary hotfixes Instalação de application hotfixes


Apêndice D – AX 2009 service releases

Hotfix workflow

Você também pode gostar