Mudanças entre as edições de "Integra Omie"

De Office System
Ir para navegação Ir para pesquisar
(alteração para melhorar pagina)
Linha 1: Linha 1:
 
== Erros Comuns e Soluções ==
 
== Erros Comuns e Soluções ==
 +
'''<big>Indicação se o caixa está fechado não informada ou inválida no Registro</big>'''
  
=== Indicação se o caixa está fechado não informada ou inválida no Registro ===
 
 
Ocorre por causa da versão 2.0 do QRCode da NFCe, para resolver basta atualizar para uma versão maior ou igual a 1.00.018.
 
Ocorre por causa da versão 2.0 do QRCode da NFCe, para resolver basta atualizar para uma versão maior ou igual a 1.00.018.
  
=== '''O documento XML deve ter um elemento de nível superior''' ===
+
'''<big>O documento XML deve ter um elemento de nível superior</big>'''
 
# Internet não estava funcionando no momento da sincronização
 
# Internet não estava funcionando no momento da sincronização
 
# Antivírus / Firewall bloqueando (tentar desativar)
 
# Antivírus / Firewall bloqueando (tentar desativar)
 
# Tentar abrir pelo Internet Explorer o seguinte link: http://app.omie.com.br/api/v1/geral/empresas/?WSDL
 
# Tentar abrir pelo Internet Explorer o seguinte link: http://app.omie.com.br/api/v1/geral/empresas/?WSDL
 
# Entrar no Internet Explorer, ir em 'Arquivo' e DESMARCAR 'Trabalhar Offline'. Essa opção só está disponível até a versão 10 do Internet Explorer
 
# Entrar no Internet Explorer, ir em 'Arquivo' e DESMARCAR 'Trabalhar Offline'. Essa opção só está disponível até a versão 10 do Internet Explorer
 +
'''<big>ERROR: Cliente não pode ser utilizado para faturamento de Pedidos de Venda! - tag: [codigo_cliente]</big>'''
  
=== ERROR: Cliente não pode ser utilizado para faturamento de Pedidos de Venda! - tag: [codigo_cliente] ===
 
 
<s>Pedidos e pré-vendas não podem ser feitas para o Cliente Consumidor,Omie não aceita, só podem ser feitos para um cliente cadastrado na Omie.</s>
 
<s>Pedidos e pré-vendas não podem ser feitas para o Cliente Consumidor,Omie não aceita, só podem ser feitos para um cliente cadastrado na Omie.</s>
  
 
Para o cliente consumidor não é possível enviar o pedido para a Omie, mas é possível cadastrar na Omie um outro cliente, com nome diferente de 'Cliente Consumidor', exemplo, 'Consumidor Final'. Neste cliente deve ser informado UF e cidade no mínimo.
 
Para o cliente consumidor não é possível enviar o pedido para a Omie, mas é possível cadastrar na Omie um outro cliente, com nome diferente de 'Cliente Consumidor', exemplo, 'Consumidor Final'. Neste cliente deve ser informado UF e cidade no mínimo.
  
=== Balança: ===
+
<big>'''Balança:'''</big>
 
* A configuração do código de barras deve ser feito manualmente nos parâmetros do Master Key
 
* A configuração do código de barras deve ser feito manualmente nos parâmetros do Master Key
 
* O código do produto cadastrado na balança deve ser igual ao código do produto informado na Omie (que no Master Key é o alfanumérico)
 
* O código do produto cadastrado na balança deve ser igual ao código do produto informado na Omie (que no Master Key é o alfanumérico)
 
* Se o cliente deseja exportar os preços para a balança, ele deve adquirir o Exporta Balança na loja da Omie.
 
* Se o cliente deseja exportar os preços para a balança, ele deve adquirir o Exporta Balança na loja da Omie.
 
* Para o produto ficar com departamento em seu cadastro, ele deve ser cadastrado na Omie com uma das seguintes unidades: 'KG','G','MG'. Caso o produto seja vendido em balança e não tenha nenhuma destas unidades, o departamento deve ser preenchido manualmente no Master Key.
 
* Para o produto ficar com departamento em seu cadastro, ele deve ser cadastrado na Omie com uma das seguintes unidades: 'KG','G','MG'. Caso o produto seja vendido em balança e não tenha nenhuma destas unidades, o departamento deve ser preenchido manualmente no Master Key.
 
+
'''<big>Produto(s) não são retornados</big>'''
=== Produto(s) não são retornados ===
 
 
# Produtos não estão marcados para serem enviados para o PDV
 
# Produtos não estão marcados para serem enviados para o PDV
 
# Tributação não cadastrada para o NCM do produto (tem que estar cadastrada para ECF ou NFCe)
 
# Tributação não cadastrada para o NCM do produto (tem que estar cadastrada para ECF ou NFCe)
 
# Entrar na parte de configuração dos impostos e se tiver no canto inferior direito a opção 'Ativar os Cenários Fiscais de Imposto', clicar ali (avisando o cliente que a forma de tributação vai mudar e talvez seja melhor entrar em contato com a Omie antes para que eles expliquem como funciona esta opção que é diferente da antiga)
 
# Entrar na parte de configuração dos impostos e se tiver no canto inferior direito a opção 'Ativar os Cenários Fiscais de Imposto', clicar ali (avisando o cliente que a forma de tributação vai mudar e talvez seja melhor entrar em contato com a Omie antes para que eles expliquem como funciona esta opção que é diferente da antiga)
 
# Alterar alguma coisa no cadastro do produto na Omie, salvar, voltar como estava, salvar de novo e mandar sincronizar. Se funcionar e isso estiver acontecendo com mais produtos, finalizar o IntegraOmie, editar o arquivo IntegraOmie.ini que fica junto com o executável, e remover a linha que começa com "DtSincProdutos", após isso, abrir o Integra Omie e mandar sincronizar. Esta sincronização será completa, e poderá demorar bastante caso o cliente possua muitos produtos cadastrados.
 
# Alterar alguma coisa no cadastro do produto na Omie, salvar, voltar como estava, salvar de novo e mandar sincronizar. Se funcionar e isso estiver acontecendo com mais produtos, finalizar o IntegraOmie, editar o arquivo IntegraOmie.ini que fica junto com o executável, e remover a linha que começa com "DtSincProdutos", após isso, abrir o Integra Omie e mandar sincronizar. Esta sincronização será completa, e poderá demorar bastante caso o cliente possua muitos produtos cadastrados.
 
+
<big>'''Caractere inválido encontrado no texto:'''</big>[[Arquivo:Erro carácter invalido.jpg|centro|semmoldura|991x991px]]
=== Caractere inválido encontrado no texto: ===
 
[[Arquivo:Erro carácter invalido.jpg|centro|semmoldura|991x991px]]
 
 
* Reiniciar a máquina e tentar novamente. Pode ser algum problema no servidor da Omie também.
 
* Reiniciar a máquina e tentar novamente. Pode ser algum problema no servidor da Omie também.
  
 
* Atualizar o Integra Omie versão para versão 1.00.035 ou superior.
 
* Atualizar o Integra Omie versão para versão 1.00.035 ou superior.
 
*Pegar o XML recebido/enviado (que fica salvo nas pastas recebidos/enviados) e validar no site: https://www.xmlvalidation.com baseado na linha onde for encontrado o erro, corrigir e tentar novamente
 
*Pegar o XML recebido/enviado (que fica salvo nas pastas recebidos/enviados) e validar no site: https://www.xmlvalidation.com baseado na linha onde for encontrado o erro, corrigir e tentar novamente
 +
<big>'''ERROR: Não foi possível ler os dados do XML:'''</big>
  
=== ERROR: Não foi possível ler os dados do XML: ===
 
 
Descobrir o número da Nota através do controle da venda que consta no erro. Em seguida executar a seguinte SQL informando o número da nota encontrado
 
Descobrir o número da Nota através do controle da venda que consta no erro. Em seguida executar a seguinte SQL informando o número da nota encontrado
  
Linha 42: Linha 39:
 
* '''Se XML_ENVIADO estiver null em um evento de 'Autorização de Uso'''', rodar a seguinte SQL: <code>update eventosnfe ev set ev.XML_ENVIADO = (select first 1 NFE_ASSINADA from nfe where controle = ev.NFE) where ev.NFE = :controle and ev.XML_ENVIADO is null and ev.DESCEVENTO = 'Autorização de Uso'</code> informando no controle o que consta na coluna NFE.
 
* '''Se XML_ENVIADO estiver null em um evento de 'Autorização de Uso'''', rodar a seguinte SQL: <code>update eventosnfe ev set ev.XML_ENVIADO = (select first 1 NFE_ASSINADA from nfe where controle = ev.NFE) where ev.NFE = :controle and ev.XML_ENVIADO is null and ev.DESCEVENTO = 'Autorização de Uso'</code> informando no controle o que consta na coluna NFE.
 
* '''Se XML_ENVIADO estiver null em um evento de 'Cancelamento'<nowiki/>''', consultar a situação da nota na sefaz, localizar o retorno na pasta MasterNFe/Log/Retornos. Abrir o arquivo com o bloco de notas e copiar toda a tag <evento> e colocando na coluna XML_ENVIADO.
 
* '''Se XML_ENVIADO estiver null em um evento de 'Cancelamento'<nowiki/>''', consultar a situação da nota na sefaz, localizar o retorno na pasta MasterNFe/Log/Retornos. Abrir o arquivo com o bloco de notas e copiar toda a tag <evento> e colocando na coluna XML_ENVIADO.
 
+
<big>'''ERROR: O MD5 informado na tag [satMd5=24b1b00c565351ef5cc0769340e54554] é diferente do esperado [f5260a951406e8af159aada976dda8ef]!:'''</big>
=== ERROR: O MD5 informado na tag [satMd5=24b1b00c565351ef5cc0769340e54554] é diferente do esperado [f5260a951406e8af159aada976dda8ef]!: ===
 
 
* Procurar no XML por caracteres estranhos, que possam causar esta diferença...
 
* Procurar no XML por caracteres estranhos, que possam causar esta diferença...
 
+
'''<big>ERROR: Não foi possível cancelar a NFCe/SAT informado</big>'''
=== ERROR: Não foi possível cancelar a NFCe/SAT informado ===
 
 
* Via WSDL, link: https://app.omie.com.br/api/v1/produtos/cupomfiscal/?WSDL executar o comando cancelar SAT/NFCe
 
* Via WSDL, link: https://app.omie.com.br/api/v1/produtos/cupomfiscal/?WSDL executar o comando cancelar SAT/NFCe
 
* No corpo informar o request que consta no integra omie, abrindo com bloco de notas e copiando
 
* No corpo informar o request que consta no integra omie, abrindo com bloco de notas e copiando
Linha 52: Linha 47:
 
* Alterar o nNumeroCaixa de 1190822 para 1'''20'''190822 adicionando o "20"
 
* Alterar o nNumeroCaixa de 1190822 para 1'''20'''190822 adicionando o "20"
 
* Executar
 
* Executar
 +
'''<big>Error: O identificador não está no estado correto para a operação solicitada</big>'''
  
== '''Error: O identificador não está no estado correto para a operação solicitada''' ==
 
 
Na verdade é problema lá na Omie, segundo o Batata.
 
Na verdade é problema lá na Omie, segundo o Batata.
 +
 +
<big>'''ERRO Não foi possível ler os dados do XML. - Registro [1]! ( Linha: 2) no Cupom Fiscal (CASO AO EXECUTAR NO BANCO DO NFE E TIVER MUITOS REGISTROS ALEM DAS NOTAS ARRUMADAS E VERIFICADAS, PARA DE IMEDIATO).'''</big>
 +
 +
update eventosnfe ev set ev.XML_ENVIADO = (select NFE_ASSINADA from nfe where controle = ev.NFE) where ev.XML_ENVIADO is null and ev.DESCEVENTO = 'Autorização de Uso'
  
 
== Inclusão e/ou alteração de Certificado Digital modelo A1 ==
 
== Inclusão e/ou alteração de Certificado Digital modelo A1 ==
Linha 112: Linha 111:
  
 
== Links (necessários para atendimentos OMIE) ==
 
== Links (necessários para atendimentos OMIE) ==
 
+
<big>'''MK4/NF-e'''</big>
==== MK4/NF-e ====
 
 
* [http://files.officesystem.com.br/setupmknfeomie.exe files.officesystem.com.br/setupmknfeomie.exe]
 
* [http://files.officesystem.com.br/setupmknfeomie.exe files.officesystem.com.br/setupmknfeomie.exe]
 
+
<big>'''Master NF-e'''</big>
==== Master NF-e ====
 
 
* [http://files.officesystem.com.br/setupmasternfeomie.exe files.officesystem.com.br/setupmasternfeomie.exe]
 
* [http://files.officesystem.com.br/setupmasternfeomie.exe files.officesystem.com.br/setupmasternfeomie.exe]
 
+
'''<big>MK4</big>'''
==== MK4 ====
 
 
* [http://files.officesystem.com.br/setupmkomie.exe files.officesystem.com.br/setupmkomie.exe]
 
* [http://files.officesystem.com.br/setupmkomie.exe files.officesystem.com.br/setupmkomie.exe]
 
+
'''<big>PAF</big>'''
==== PAF ====
 
 
* http://files.officesystem.com.br/atualizacoes/PAF/
 
* http://files.officesystem.com.br/atualizacoes/PAF/
 
+
'''<big>Integra OMIE</big>'''
==== Integra OMIE ====
 
 
* http://files.officesystem.com.br/atualizacoes/integraOmie.zip
 
* http://files.officesystem.com.br/atualizacoes/integraOmie.zip
  
 
== SQLs (utilizar apenas quando tiver certeza do que esta fazendo) ==
 
== SQLs (utilizar apenas quando tiver certeza do que esta fazendo) ==
 
+
'''SELECT SIMPLES OMIE PARA CONSULTAR NUMERO DE NOTA'''
=== SELECT SIMPLES OMIE PARA CONSULTAR NUMERO DE NOTA ===
 
 
  select * from vendas where ve_nronota = '1234'  
 
  select * from vendas where ve_nronota = '1234'  
  
 
  select ve_finalizada from vendas where ve_nronota = '1234'
 
  select ve_finalizada from vendas where ve_nronota = '1234'
 
+
<big>'''SELECT POR DATA AS NOTAS'''</big>
=== SELECT POR DATA AS NOTAS ===
 
 
  select ve_controle,ve_demanif,ve_finalizada from vendas where ve_dtemiss = :D1
 
  select ve_controle,ve_demanif,ve_finalizada from vendas where ve_dtemiss = :D1
  
 
  select ve_controle, ve_nronota, ve_finalizada, ve_demanif, ve_sernota ,ve_totnota,ve_status, ve_pagocom, ve_vlrpagod from vendas where ve_dtemiss between :D1 and :D2
 
  select ve_controle, ve_nronota, ve_finalizada, ve_demanif, ve_sernota ,ve_totnota,ve_status, ve_pagocom, ve_vlrpagod from vendas where ve_dtemiss between :D1 and :D2
 
+
<big>'''SELECT COMPLETA OMIE VERIFICAÇÃO NUMERO DE NOTAS'''</big>
=== SELECT COMPLETA OMIE VERIFICAÇÃO NUMERO DE NOTAS ===
 
 
  select ve_controle, ve_nronota, ve_finalizada, ve_demanif, ve_sernota ,ve_totnota,ve_status, ve_pagocom, ve_vlrpagod from vendas where ve_nronota= '1234'
 
  select ve_controle, ve_nronota, ve_finalizada, ve_demanif, ve_sernota ,ve_totnota,ve_status, ve_pagocom, ve_vlrpagod from vendas where ve_nronota= '1234'
 
+
<big>'''SELECT POR DATA MAIOR E CODIGO DO PRODUTO.'''</big>
=== SELECT POR DATA MAIOR E CODIGO DO PRODUTO. ===
 
 
  select * from venditem where vi_controle in( select vi_controle from venditem vi, vendas ve where vi_controle = ve_controle and ve_dtemiss >= '01.01.2019') and vi_produto = :prod
 
  select * from venditem where vi_controle in( select vi_controle from venditem vi, vendas ve where vi_controle = ve_controle and ve_dtemiss >= '01.01.2019') and vi_produto = :prod
 
+
<big>'''CONSULTA DE PRODUTOS APARTIR DO CODIGO DA OMIE PARA CODIGO MK4'''</big>
=== CONSULTA DE PRODUTOS APARTIR DO CODIGO DA OMIE PARA CODIGO MK4 ===
 
 
  SELECT CP_CHAVE FROM CAMPOSOMIE WHERE CP_VALOR = :codigoOmie
 
  SELECT CP_CHAVE FROM CAMPOSOMIE WHERE CP_VALOR = :codigoOmie
 
+
'''<big>UPDATE PARA TROCAR O PRODUTO VELHO PARA O PRODUTO NOVO A PARTIR DA DATA INICIAL(caso alguém exclua produtos na OMIE)</big>'''
=== UPDATE PARA TROCAR O PRODUTO VELHO PARA O PRODUTO NOVO A PARTIR DA DATA INICIAL(caso alguém exclua produtos na OMIE) ===
 
 
  update VENDITEM vi set vi.VI_PRODUTO = :prodNovo where exists (select * from vendas ve where ve_controle = vi.VI_CONTROLE and ve.VE_DTEMISS >= :dataInicial) and vi.VI_PRODUTO = :prodAntigo
 
  update VENDITEM vi set vi.VI_PRODUTO = :prodNovo where exists (select * from vendas ve where ve_controle = vi.VI_CONTROLE and ve.VE_DTEMISS >= :dataInicial) and vi.VI_PRODUTO = :prodAntigo
 
+
<big>'''UPDATE PARA INATIVAR O PRODUTO QUE FOI EXCLUÍDO'''</big>
=== UPDATE PARA INATIVAR O PRODUTO QUE FOI EXCLUÍDO ===
 
 
  update produtos pr set pr.PR_INATIVO = 'S', pr.PR_CODBARRA = <nowiki>''</nowiki>, pr.PR_CODALFA = <nowiki>''</nowiki> where pr.PR_CODIGO = :prodExcluido
 
  update produtos pr set pr.PR_INATIVO = 'S', pr.PR_CODBARRA = <nowiki>''</nowiki>, pr.PR_CODALFA = <nowiki>''</nowiki> where pr.PR_CODIGO = :prodExcluido
 
+
<big>'''SELECT PARA VER CUPONS PENDENTES POR ALGUM MOTIVO'''</big><blockquote>--SQL DAS VENDAS QUE DEVEM SER ENVIADAS!</blockquote><blockquote>WITH SELVENDAS AS(</blockquote><blockquote>    SELECT * FROM VENDAS VE</blockquote><blockquote>    LEFT JOIN SAT ON VE_CONTROLE = ST_CONTROLE</blockquote><blockquote>    WHERE VE.VE_FILIAL = :FILIAL</blockquote><blockquote>    --AND VE.VE_NROCX = :CX</blockquote><blockquote>    AND (VE.VE_FINALIZADA = 'S' or VE.VE_STATUS = 'Inutilizada')</blockquote><blockquote>    AND COALESCE(VE.VE_FINALIZADA,<nowiki>''</nowiki>) <> 'X'</blockquote><blockquote>    AND COALESCE(VE.VE_NRONOTA,<nowiki>''</nowiki>) <> <nowiki>''</nowiki></blockquote><blockquote>    -- ">=" POIS CASO A VENDA SEJA AUTORIZADA, ENVIADA, CANCELADA, TEM QUE ENTRAR NA SELECT!</blockquote><blockquote>    -- "COALESCE 0", POIS, CASO NAO EXISTA NENHUMA VENDA (CLIENTE NOVO) AS VENDAS NUNCA SERIAM ENVIADAS</blockquote><blockquote>    AND VE.VE_CONTROLE >= (SELECT COALESCE(MIN(VE_CONTROLE),0) FROM VENDAS WHERE COALESCE(VE_DEMANIF,<nowiki>''</nowiki>) <> <nowiki>''</nowiki>)</blockquote><blockquote>)</blockquote><blockquote>SELECT * FROM SELVENDAS SV</blockquote><blockquote>WHERE SV.VE_MODELO IN ('59','65')</blockquote><blockquote>AND (</blockquote><blockquote>    (SV.VE_STATUS IN ('Autorizada','Denegada') AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Aut')</blockquote><blockquote>    OR</blockquote><blockquote>    ((SV.VE_STATUS = 'Cancelada' or COALESCE(SV.VE_OBSERV1,0) = 99) AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Can'</blockquote><blockquote>      AND EXISTS (SELECT * FROM ITEMCANC IC WHERE IC.CONTROLE = SV.VE_CONTROLE))</blockquote><blockquote>    OR</blockquote><blockquote>    (SV.VE_STATUS = 'Impressa em Contingência' AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Con')</blockquote><blockquote>    OR</blockquote><blockquote>    (SV.VE_STATUS = 'Inutilizada' AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Inu')</blockquote><blockquote>)</blockquote><blockquote>UNION ALL</blockquote><blockquote>SELECT * FROM SELVENDAS SV</blockquote><blockquote>WHERE SV.VE_MODELO = '2D'</blockquote><blockquote>AND (</blockquote><blockquote>    (COALESCE(SV.VE_OBSERV1,0) = 99 AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Can'</blockquote><blockquote>     AND EXISTS (SELECT * FROM ITEMCANC IC WHERE IC.CONTROLE = SV.VE_CONTROLE))</blockquote><blockquote>    OR</blockquote><blockquote>    (COALESCE(SV.VE_OBSERV1,0) <> 99 AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Aut')</blockquote><blockquote>)</blockquote>
=== SELECT PARA VER CUPONS PENDENTES POR ALGUM MOTIVO ===
 
<blockquote>--SQL DAS VENDAS QUE DEVEM SER ENVIADAS!</blockquote><blockquote>WITH SELVENDAS AS(</blockquote><blockquote>    SELECT * FROM VENDAS VE</blockquote><blockquote>    LEFT JOIN SAT ON VE_CONTROLE = ST_CONTROLE</blockquote><blockquote>    WHERE VE.VE_FILIAL = :FILIAL</blockquote><blockquote>    --AND VE.VE_NROCX = :CX</blockquote><blockquote>    AND (VE.VE_FINALIZADA = 'S' or VE.VE_STATUS = 'Inutilizada')</blockquote><blockquote>    AND COALESCE(VE.VE_FINALIZADA,<nowiki>''</nowiki>) <> 'X'</blockquote><blockquote>    AND COALESCE(VE.VE_NRONOTA,<nowiki>''</nowiki>) <> <nowiki>''</nowiki></blockquote><blockquote>    -- ">=" POIS CASO A VENDA SEJA AUTORIZADA, ENVIADA, CANCELADA, TEM QUE ENTRAR NA SELECT!</blockquote><blockquote>    -- "COALESCE 0", POIS, CASO NAO EXISTA NENHUMA VENDA (CLIENTE NOVO) AS VENDAS NUNCA SERIAM ENVIADAS</blockquote><blockquote>    AND VE.VE_CONTROLE >= (SELECT COALESCE(MIN(VE_CONTROLE),0) FROM VENDAS WHERE COALESCE(VE_DEMANIF,<nowiki>''</nowiki>) <> <nowiki>''</nowiki>)</blockquote><blockquote>)</blockquote><blockquote>SELECT * FROM SELVENDAS SV</blockquote><blockquote>WHERE SV.VE_MODELO IN ('59','65')</blockquote><blockquote>AND (</blockquote><blockquote>    (SV.VE_STATUS IN ('Autorizada','Denegada') AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Aut')</blockquote><blockquote>    OR</blockquote><blockquote>    ((SV.VE_STATUS = 'Cancelada' or COALESCE(SV.VE_OBSERV1,0) = 99) AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Can'</blockquote><blockquote>      AND EXISTS (SELECT * FROM ITEMCANC IC WHERE IC.CONTROLE = SV.VE_CONTROLE))</blockquote><blockquote>    OR</blockquote><blockquote>    (SV.VE_STATUS = 'Impressa em Contingência' AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Con')</blockquote><blockquote>    OR</blockquote><blockquote>    (SV.VE_STATUS = 'Inutilizada' AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Inu')</blockquote><blockquote>)</blockquote><blockquote>UNION ALL</blockquote><blockquote>SELECT * FROM SELVENDAS SV</blockquote><blockquote>WHERE SV.VE_MODELO = '2D'</blockquote><blockquote>AND (</blockquote><blockquote>    (COALESCE(SV.VE_OBSERV1,0) = 99 AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Can'</blockquote><blockquote>     AND EXISTS (SELECT * FROM ITEMCANC IC WHERE IC.CONTROLE = SV.VE_CONTROLE))</blockquote><blockquote>    OR</blockquote><blockquote>    (COALESCE(SV.VE_OBSERV1,0) <> 99 AND COALESCE(SV.VE_DEMANIF,<nowiki>''</nowiki>) <> 'Aut')</blockquote><blockquote>)</blockquote>
 
 
 
===ERRO Não foi possível ler os dados do XML. - Registro [1]! ( Linha: 2) no Cupom Fiscal (CASO AO EXECUTAR NO BANCO DO NFE E TIVER MUITOS REGISTROS ALEM DAS NOTAS ARRUMADAS E VERIFICADAS, PARA DE IMEDIATO). ===
 
update eventosnfe ev set ev.XML_ENVIADO = (select NFE_ASSINADA from nfe where controle = ev.NFE) where ev.XML_ENVIADO is null and ev.DESCEVENTO = 'Autorização de Uso'
 

Edição das 14h15min de 7 de dezembro de 2019

Erros Comuns e Soluções

Indicação se o caixa está fechado não informada ou inválida no Registro

Ocorre por causa da versão 2.0 do QRCode da NFCe, para resolver basta atualizar para uma versão maior ou igual a 1.00.018.

O documento XML deve ter um elemento de nível superior

  1. Internet não estava funcionando no momento da sincronização
  2. Antivírus / Firewall bloqueando (tentar desativar)
  3. Tentar abrir pelo Internet Explorer o seguinte link: http://app.omie.com.br/api/v1/geral/empresas/?WSDL
  4. Entrar no Internet Explorer, ir em 'Arquivo' e DESMARCAR 'Trabalhar Offline'. Essa opção só está disponível até a versão 10 do Internet Explorer

ERROR: Cliente não pode ser utilizado para faturamento de Pedidos de Venda! - tag: [codigo_cliente]

Pedidos e pré-vendas não podem ser feitas para o Cliente Consumidor,Omie não aceita, só podem ser feitos para um cliente cadastrado na Omie.

Para o cliente consumidor não é possível enviar o pedido para a Omie, mas é possível cadastrar na Omie um outro cliente, com nome diferente de 'Cliente Consumidor', exemplo, 'Consumidor Final'. Neste cliente deve ser informado UF e cidade no mínimo.

Balança:

  • A configuração do código de barras deve ser feito manualmente nos parâmetros do Master Key
  • O código do produto cadastrado na balança deve ser igual ao código do produto informado na Omie (que no Master Key é o alfanumérico)
  • Se o cliente deseja exportar os preços para a balança, ele deve adquirir o Exporta Balança na loja da Omie.
  • Para o produto ficar com departamento em seu cadastro, ele deve ser cadastrado na Omie com uma das seguintes unidades: 'KG','G','MG'. Caso o produto seja vendido em balança e não tenha nenhuma destas unidades, o departamento deve ser preenchido manualmente no Master Key.

Produto(s) não são retornados

  1. Produtos não estão marcados para serem enviados para o PDV
  2. Tributação não cadastrada para o NCM do produto (tem que estar cadastrada para ECF ou NFCe)
  3. Entrar na parte de configuração dos impostos e se tiver no canto inferior direito a opção 'Ativar os Cenários Fiscais de Imposto', clicar ali (avisando o cliente que a forma de tributação vai mudar e talvez seja melhor entrar em contato com a Omie antes para que eles expliquem como funciona esta opção que é diferente da antiga)
  4. Alterar alguma coisa no cadastro do produto na Omie, salvar, voltar como estava, salvar de novo e mandar sincronizar. Se funcionar e isso estiver acontecendo com mais produtos, finalizar o IntegraOmie, editar o arquivo IntegraOmie.ini que fica junto com o executável, e remover a linha que começa com "DtSincProdutos", após isso, abrir o Integra Omie e mandar sincronizar. Esta sincronização será completa, e poderá demorar bastante caso o cliente possua muitos produtos cadastrados.

Caractere inválido encontrado no texto:

Erro carácter invalido.jpg
  • Reiniciar a máquina e tentar novamente. Pode ser algum problema no servidor da Omie também.
  • Atualizar o Integra Omie versão para versão 1.00.035 ou superior.
  • Pegar o XML recebido/enviado (que fica salvo nas pastas recebidos/enviados) e validar no site: https://www.xmlvalidation.com baseado na linha onde for encontrado o erro, corrigir e tentar novamente

ERROR: Não foi possível ler os dados do XML:

Descobrir o número da Nota através do controle da venda que consta no erro. Em seguida executar a seguinte SQL informando o número da nota encontrado

select ev.* from EVENTOSNFE ev, NFE nf where ev.NFE = nf.controle and nf.NRO_NOTA = :nroNota

Verificar se em algum dos registros retornados pela SQL, a coluna XML_ENVIADO está como null.

  • Se XML_ENVIADO estiver null em um evento de 'Autorização de Uso', rodar a seguinte SQL: update eventosnfe ev set ev.XML_ENVIADO = (select first 1 NFE_ASSINADA from nfe where controle = ev.NFE) where ev.NFE = :controle and ev.XML_ENVIADO is null and ev.DESCEVENTO = 'Autorização de Uso' informando no controle o que consta na coluna NFE.
  • Se XML_ENVIADO estiver null em um evento de 'Cancelamento', consultar a situação da nota na sefaz, localizar o retorno na pasta MasterNFe/Log/Retornos. Abrir o arquivo com o bloco de notas e copiar toda a tag <evento> e colocando na coluna XML_ENVIADO.

ERROR: O MD5 informado na tag [satMd5=24b1b00c565351ef5cc0769340e54554] é diferente do esperado [f5260a951406e8af159aada976dda8ef]!:

  • Procurar no XML por caracteres estranhos, que possam causar esta diferença...

ERROR: Não foi possível cancelar a NFCe/SAT informado

  • Via WSDL, link: https://app.omie.com.br/api/v1/produtos/cupomfiscal/?WSDL executar o comando cancelar SAT/NFCe
  • No corpo informar o request que consta no integra omie, abrindo com bloco de notas e copiando
  • Alterar o nCodigoPDV de "001" para "1", "002" para "2", e assim por diante
  • Alterar o nNumeroCaixa de 1190822 para 120190822 adicionando o "20"
  • Executar

Error: O identificador não está no estado correto para a operação solicitada

Na verdade é problema lá na Omie, segundo o Batata.

ERRO Não foi possível ler os dados do XML. - Registro [1]! ( Linha: 2) no Cupom Fiscal (CASO AO EXECUTAR NO BANCO DO NFE E TIVER MUITOS REGISTROS ALEM DAS NOTAS ARRUMADAS E VERIFICADAS, PARA DE IMEDIATO).

update eventosnfe ev set ev.XML_ENVIADO = (select NFE_ASSINADA from nfe where controle = ev.NFE) where ev.XML_ENVIADO is null and ev.DESCEVENTO = 'Autorização de Uso'

Inclusão e/ou alteração de Certificado Digital modelo A1

Para alterar ou incluir um certificado digital A1 quando o cliente usar Integra OMIE é necessário seguir algumas instruções:

  • Localizar a máquina que tem o programa Integra Omie instalado, abrir o mesmo e clicar em "Configurar Emissor" na tela que abrir, ir na opção de certificado e lá incluir o novo certificado. Após clicar em Aplicar e Pronto. Segue abaixo imagem ilustrando.
Omie.jpg
  • No programa Master NFE (simbolo do mapa do Brasil) abra-o, o login padrão é NOME e a senha SENHA. Uma vez no programa , deve ir na opção UTILITÁRIOS<PARÂMETROS e ali ir na parte destinada a Certificado Digital e clicar no botão do + e ai incluir o certificado novo que já deve estar instalado na máquina.
  • Uma vez selecionado o certificado basta clicar no Gravar na tela. Abaixo print ilustrando.
Certificado2.jpg
  • Após isso deve se fechar o aplicativo de Vendas se o mesmo estiver aberto, e ai abrir novamente e gerar as notas.

OMIE- DIFERENÇAS DE CONFIGURAÇÕES

OMIE OFFICE
TIPOS DE PAGAMENTOS POSIÇÃO ECF
BANDEIRAS POS ABERTURA E FECHAMENTO DE CAIXA
RELATÓRIOS PERMISSÕES DE USUÁRIOS
CADASTROS DE USUÁRIOS SENHA DE USUÁRIOS
CADASTROS DE VENDEDORES CONFIGURAÇÃO DE VENDEDORES
TRIBUTAÇÕES CONFIGURAR DOCUMENTO(VER COM A ALEXANDRA)
CADASTROS DE PRODUTOS FORMAS DE PAGAMENTOS
CADASTROS DE CLIENTES CAT 52 (sincroniza para omie caso esteja na pasta CD:\Sistema\MK4\IntegraOmie\ECFSPED)
TABELAS DE PREÇO MENSAGEM PADRÃO DO CUPOM EMITIDO PELO PDV
TAXAS DE CARTÕES TRANSPORTADOR
NOTA 55(DANFE) *CHEQUE-PRÉ
SPEED DOIS TIPOS DE PAGAMENTO CARTÃO POS

Links (necessários para atendimentos OMIE)

MK4/NF-e

Master NF-e

MK4

PAF

Integra OMIE

SQLs (utilizar apenas quando tiver certeza do que esta fazendo)

SELECT SIMPLES OMIE PARA CONSULTAR NUMERO DE NOTA

select * from vendas where ve_nronota = '1234' 
select ve_finalizada from vendas where ve_nronota = '1234'

SELECT POR DATA AS NOTAS

select ve_controle,ve_demanif,ve_finalizada from vendas where ve_dtemiss = :D1
select ve_controle, ve_nronota, ve_finalizada, ve_demanif, ve_sernota ,ve_totnota,ve_status, ve_pagocom, ve_vlrpagod from vendas where ve_dtemiss between :D1 and :D2

SELECT COMPLETA OMIE VERIFICAÇÃO NUMERO DE NOTAS

select ve_controle, ve_nronota, ve_finalizada, ve_demanif, ve_sernota ,ve_totnota,ve_status, ve_pagocom, ve_vlrpagod from vendas where ve_nronota= '1234'

SELECT POR DATA MAIOR E CODIGO DO PRODUTO.

select * from venditem where vi_controle in( select vi_controle from venditem vi, vendas ve where vi_controle = ve_controle and ve_dtemiss >= '01.01.2019') and vi_produto = :prod

CONSULTA DE PRODUTOS APARTIR DO CODIGO DA OMIE PARA CODIGO MK4

SELECT CP_CHAVE FROM CAMPOSOMIE WHERE CP_VALOR = :codigoOmie

UPDATE PARA TROCAR O PRODUTO VELHO PARA O PRODUTO NOVO A PARTIR DA DATA INICIAL(caso alguém exclua produtos na OMIE)

update VENDITEM vi set vi.VI_PRODUTO = :prodNovo where exists (select * from vendas ve where ve_controle = vi.VI_CONTROLE and ve.VE_DTEMISS >= :dataInicial) and vi.VI_PRODUTO = :prodAntigo

UPDATE PARA INATIVAR O PRODUTO QUE FOI EXCLUÍDO

update produtos pr set pr.PR_INATIVO = 'S', pr.PR_CODBARRA = '', pr.PR_CODALFA = '' where pr.PR_CODIGO = :prodExcluido

SELECT PARA VER CUPONS PENDENTES POR ALGUM MOTIVO

--SQL DAS VENDAS QUE DEVEM SER ENVIADAS!

WITH SELVENDAS AS(

    SELECT * FROM VENDAS VE

    LEFT JOIN SAT ON VE_CONTROLE = ST_CONTROLE

    WHERE VE.VE_FILIAL = :FILIAL

    --AND VE.VE_NROCX = :CX

    AND (VE.VE_FINALIZADA = 'S' or VE.VE_STATUS = 'Inutilizada')

    AND COALESCE(VE.VE_FINALIZADA,'') <> 'X'

    AND COALESCE(VE.VE_NRONOTA,'') <> ''

    -- ">=" POIS CASO A VENDA SEJA AUTORIZADA, ENVIADA, CANCELADA, TEM QUE ENTRAR NA SELECT!

    -- "COALESCE 0", POIS, CASO NAO EXISTA NENHUMA VENDA (CLIENTE NOVO) AS VENDAS NUNCA SERIAM ENVIADAS

    AND VE.VE_CONTROLE >= (SELECT COALESCE(MIN(VE_CONTROLE),0) FROM VENDAS WHERE COALESCE(VE_DEMANIF,'') <> '')

)

SELECT * FROM SELVENDAS SV

WHERE SV.VE_MODELO IN ('59','65')

AND (

    (SV.VE_STATUS IN ('Autorizada','Denegada') AND COALESCE(SV.VE_DEMANIF,'') <> 'Aut')

    OR

    ((SV.VE_STATUS = 'Cancelada' or COALESCE(SV.VE_OBSERV1,0) = 99) AND COALESCE(SV.VE_DEMANIF,'') <> 'Can'

      AND EXISTS (SELECT * FROM ITEMCANC IC WHERE IC.CONTROLE = SV.VE_CONTROLE))

    OR

    (SV.VE_STATUS = 'Impressa em Contingência' AND COALESCE(SV.VE_DEMANIF,'') <> 'Con')

    OR

    (SV.VE_STATUS = 'Inutilizada' AND COALESCE(SV.VE_DEMANIF,'') <> 'Inu')

)

UNION ALL

SELECT * FROM SELVENDAS SV

WHERE SV.VE_MODELO = '2D'

AND (

    (COALESCE(SV.VE_OBSERV1,0) = 99 AND COALESCE(SV.VE_DEMANIF,'') <> 'Can'

     AND EXISTS (SELECT * FROM ITEMCANC IC WHERE IC.CONTROLE = SV.VE_CONTROLE))

    OR

    (COALESCE(SV.VE_OBSERV1,0) <> 99 AND COALESCE(SV.VE_DEMANIF,'') <> 'Aut')

)