Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


Saiba mais

beneficios.png

click.png

click.png

click.png

Igor Grava

Membros
  • Posts

    11
  • Joined

  • Last visited

Everything posted by Igor Grava

  1. Irei verificar a versão, o que notei de estranho foi o Integrador em uma das máquinas que ocorreu o erro, estava com o seguinte aviso na tela: Irei baixar as DLLs atualizadas e ver se é necessário atualizar o Integrador, após isso monitorar os casos, mesmo desatualizado ainda seria possível transmitir algumas vendas com sucesso? Pois me parecem que poucas vendas estão ocorrendo o erro.
  2. Estou com o seguinte caso ocorrendo em um cliente utilizando a MF-e, esporadicamente temos algumas vendas que ao enviar para o Sefaz temos o seguinte retorno no XML: <Integrador> <Identificador> <Valor>1</Valor> </Identificador> <IntegradorResposta> <Codigo>AP</Codigo> <Valor>Arquivo processado</Valor> </IntegradorResposta> <Resposta> <retorno>308751|06099|0000|Erro desconhecido na emissão||</retorno> </Resposta> </Integrador> Porém a venda existe no SEFAZ, ao transmitir a próxima venda o número do cupom é incrementado, e se consultarmos o número de cupom que seria a venda no site do SEFAZ-CE temos a cupom como se tivesse sido transmitido sem erros. Isso ocorre esporadicamente em diferentes caixas do cliente, logo em seguida as vendas seguem transmitindo normalmente, pelo que pesquisei no fórum existiram casos onde o retorno desse erro eram as DLLs desatualizadas, porém creio que se fosse o caso todas as vendas estariam com problemas, não?
  3. Descobri o problema, de fato o único problema inicial eram os caracteres do Código de Serviço, tive que voltar a propriedade ApenasTagsAplicacao da função GerarXML para True, assim não gerou as tags que indicava erro no validador e com a modificação que fiz no pcnCFeW.pas gerou o Serviço com 20 caracteres. Emiti um CFe em produção com 2 produtos e um serviço sem problemas assim, só precisei realizar essa mudança nos fontes, pois o Código de Serviço da prefeitura da Atibaia realmente não possui 20 caracteres e a solução foi preencher o resto com espaços.
  4. Boa Tarde, Daniel Realizei mais testes, e realmente nesta tag precisei modificar os fontes no pcnCFeW.pas na seguinte linha: Gerador.wCampo(tcStrOrig, 'U08', 'cServTribMun', 20, 20, 0, CFe.Det[i].Imposto.ISSQN.cServTribMun, DSC_CSERVTRIBMUN, False); Precisei mudar o tcStr para tcStrOrig para evitar passar por um Trim e adicionei no final da chamada o False para a propriedade ParseTextoXML que removia os espaços do texto, verifiquei um XML do cliente emitido por software antigo e haviam preenchido com espaços a tag para validar os 20 caractéres e segui esse padrão, deu certo, também mudei o parâmetro ApenasTagsAplicacao para False na chamada do GerarXML para criar as tags de vBC e vISSQN, porém na emissão ainda estou retornando o Erro 6010 - Erro Não Identificado. Segue por anexo os XMLs gerados e de retorno do SAT. retorno.xml venda.xml
  5. Boa Tarde, Segue em anexo o XML de retorno, gerado em um SAT de Produção direto do Cliente. Ao gerar e enviar o SAT retorna o erro 6010, erro desconhecido, e nem no XML de retorno encontro essas tags. retorno.xml
  6. Estou implantando o SAT com ISSQN em um cliente (no caso prefeitura de Atibaia), informei os campos de ISSQN e todos eles saem corretamente o XML com a exceção das tags vISSQN e vBC, por mais que informe elas via código no Delphi (e confirmo depois verificando o valor das propriedades atribuidas), ao gerar o SAT essas tags não aparecem, existe alguma regra específica ou outro campo que seja necessário estar preenchido para que sejam criadas essas tags corretamente? Segue o código Delphi onde informo as tags de ISSQN: Imposto.ISSQN.cMunFG := pItem.ISSCodigoMunicipio; Imposto.ISSQN.cNatOp := pItem.ISSCodigoNaturezaOperacao; Imposto.ISSQN.cListServ := pItem.ISSCodigoListaServico; Imposto.ISSQN.cServTribMun := pItem.ISSCodigoServicoMunicipal; Imposto.ISSQN.vDeducISSQN := pItem.ISSValorDeducaoISSQN; Imposto.ISSQN.vBC := (TotalItem - Prod.vDesc); Imposto.ISSQN.vAliq := pItem.ISSValorAliquota; Imposto.ISSQN.vISSQN := Imposto.ISSQN.vBC * Imposto.ISSQN.vAliq; if pItem.ISSIncFiscal then //(iiSim, iiNao); Imposto.ISSQN.indIncFisc := iiSim else Imposto.ISSQN.indIncFisc := iiNao; pSAT.CFe.Total.ISSQNtot.vBC := Imposto.ISSQN.vBC; pSAT.CFe.Total.ISSQNtot.vISS := Imposto.ISSQN.vISSQN; E o resultado no XML: <det nItem="1"> <prod> <cProd>505090</cProd> <cEAN>7898430191206</cEAN> <xProd>1 - DORFLEX 10 CPR V</xProd> <NCM>30049039</NCM> <CFOP>5405</CFOP> <uCom>UN</uCom> <qCom>1.0000</qCom> <vUnCom>122.33</vUnCom> <indRegra>A</indRegra> <vDesc>12.23</vDesc> </prod> <imposto> <vItem12741>35.23</vItem12741> <ISSQN> <vDeducISSQN>0.00</vDeducISSQN> <vAliq>001.00</vAliq> <cMunFG>4314902</cMunFG> <cListServ>12</cListServ> <cServTribMun>223</cServTribMun> <cNatOp>01</cNatOp> <indIncFisc>2</indIncFisc> </ISSQN> <PIS> <PISNT> <CST>04</CST> </PISNT> </PIS> <COFINS> <COFINSNT> <CST>04</CST> </COFINSNT> </COFINS> </imposto> </det> Cheguei a testar com diferentes CSTs porém sem sucesso.
  7. Certo, estou buscando alternativas pois pelo que verificamos o problema está justamente dentro da procedure Assinar da Procedure ACBrDFeXsLibXml2, me parece ser justamente nestas linhas: if URI = '' then Canon := AnsiString(CanonC14n(aDoc, docElement)) else Canon := AnsiString(CanonC14n(aDoc, infElement));
  8. No cliente o estoque tem cerca de 10mil produtos, Segue o código: if DecimalSeparator = '.' then begin DecimalSeparator := ','; ThousandSeparator:= '.'; end; with AACBrBlocoX do begin with Estoque do begin DataReferencia := DATE; //Abrindo Query EstoqueAtual DM_BlocoX.QEstoqueAtual.Close; DM_BlocoX.QEstoqueAtual.Open; DM_BlocoX.QEstoqueAtual.First; //Abriu Query EstoqueAtual Produtos.Clear; while not DM_BlocoX.QEstoqueAtual.EoF do begin with Produtos.Add do begin Codigo.Tipo := tpcEAN; Codigo.CodigoProprio := DM_BlocoX.QEstoqueAtualPRODUTO.AsString; Codigo.CodigoCEST := DM_BlocoX.QEstoqueAtualCODIGO_CEST.Value; Codigo.CodigoGTIN := DM_BlocoX.QEstoqueAtualEAN.Value; Codigo.CodigoNCMSH := DM_BlocoX.QEstoqueAtualNCM.Value; Descricao := DM_BlocoX.QEstoqueAtualDESCRICAO.Value; ValorUnitario := DM_BlocoX.QEstoqueAtualPRECO.Value; if DM_BlocoX.QEstoqueAtualIPPT.Value = 'T' then Ippt := ipptTerceiros else Ippt := ipptProprio; SituacaoTributaria := stTributado; Aliquota := DM_BlocoX.QEstoqueAtualALIQUOTA_ICMS.Value; Unidade := DM_BlocoX.QEstoqueAtualUNIDADE_MEDIDA.Value; Quantidade := DM_BlocoX.QEstoqueAtualSALDO.Value; IndicadorArredondamento := False; end; DM_BlocoX.QEstoqueAtual.Next; end; //Fim da Query - Salvar XML GerarXML(True); end; end; if DecimalSeparator = '.' then begin DecimalSeparator := ','; ThousandSeparator:= '.'; end;
  9. Elton, boa tarde Tentei desta forma que enviou, explorando dentro da função GerarXML vi essa chamada e fiz desta forma: DM_BlocoX.QXMLEstoque.Close; DM_BlocoX.QXMLEstoque.ParamByName('inscricao_estadual').Value := DM_PDV.ParametrosINSCRICAO_ESTADUAL.Value; DM_BlocoX.QXMLEstoque.Open; oBlocoX.WebServices.EnviarBlocoX.XML := oBlocoX.SSL.Assinar(DM_BlocoX.QXMLEstoqueXML_CONTEUDO.Value, 'Estoque', 'Mensagem'); Após alguns problemas com a formatação dos valores numéricos, alguns com 3 casas decimais e todos utilizando vírgula como separadores decimais, consegui o envio sem problemas de minha máquina, porém em teste no cliente justamente a linha do Assinar que está demorando cerca de 10 minutos agora e ainda não finalizou, ainda aguardando para ver se fica na casa dos 30 minutos como pelo GerarXML ou se terá alguma diferença mesmo. Como essa função do Assinar é chamada dentro da GerarXML estou achando que é justamente ela que causa a lentidão, embora cheguei a testar a GerarXML enviando o parâmetro Assinar = False e demorou da mesma forma.
  10. Estou gerando o BlocoX de Estoque e ReduçãoZ, seguindo os exemplos do ACBr versão Lazarus sem problemas em minha máquina de desenvolvimento, porém ao testar nas máquinas de PDV do Cliente a geração do XML de Estoque está demorando cerca de 30 minutos, me parece que o problema está na função GerarXML, justamente quando são criados os nós baseados em como os objetos de produto são informados, pelo que verifiquei na base de dados do cliente existem cerca de 10mil produtos, mas ainda não me parece ser justificável essa demora apenas pelo volume de dados, pode ser até performance nas máquinas do cliente. Buscando solucionar isso, pensei na alternativa de gerar o XML por outras rotinas, como vi neste Tópico, porém não encontrei como informaria o XML externo para o ACBrBlocoX assinar e enviar, existe algum exemplo deste cenário? A propriedade ACBrBlocoX.Estoque.XMLOriginal é protected. Tentei da seguinte forma sem sucesso: DM_BlocoX.QXMLEstoque.Close; DM_BlocoX.QXMLEstoque.ParamByName('inscricao_estadual').Value := DM_PDV.QParametrosINSCRICAO_ESTADUAL.Value; DM_BlocoX.QXMLEstoque.ParamByName('numero_credenciamento').Value := '123456789'; DM_BlocoX.QXMLEstoque.Open; ACBrBlocoX.WebServices.EnviarBlocoX.XML := DM_BlocoX.QXMLEstoqueXML_ESTOQUE.Value; Gerando o XML diretamente pelo SQL, porém neste caso o XML não seria assinado, certo?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.