Ir para conteúdo
  • Cadastre-se

VEXCOM Sistemas - Valtair

Membros Pro
  • Total de ítens

    18
  • Registro em

  • Última visita

Community Answers

  1. VEXCOM Sistemas - Valtair's post in Ajustes e melhorias ACBR NFSeX was marked as the answer   
    Contribuindo com o projeto ACBr, solicito, se possível alguns ajustes, tenho clientes que enviam NFSe nestas cidades, e após os ajustes abaixo, as NFSes estão sendo transmitidas com sucesso. Essas alterações não foram feitas hoje, faz um certo tempo já, então estão funcionando perfeitamente.

    no arquivo INI: "ACBr\trunk2\Fontes\ACBrDFe\ACBrNFSeX\ACBrNFSeXServicos.ini"
    A cidade São Carlos / SC que estava:
    [4216008] Nome=Sao Carlos UF=SC Provedor=Betha o correto é:
    [4216008] Nome=Sao Carlos UF=SC Provedor=IPM
     
    A Cidade de Nonoai / RS que estava
    [4312708] Nome=Nonoai UF=RS Provedor=DataSmart Versao=2.02 Params=AliasCidade:NONOAIRS o correto é:
    [4312708] Nome=Nonoai UF=RS Provedor=DataSmart Versao=2.02 Params=AliasCidade:NONOAI
     
    O Provedor IPM para a cidade de são carlos, está retornando o sucesso como '00001 - Sucesso'
    para ter o correto envio da NFSe para este provedor fiz o seguinte ajuste na unit:
    ACBr\trunk2\Fontes\ACBrDFe\ACBrNFSeX\Provedores\IPM.Provider.pas - Linha 280
    Adicionando o "if ((Codigo <> '00001') and (Codigo <> '00001 - Sucesso')) then", pois caso não haja essa condição gera um erro como "Sucesso", pode verificar na imagem abaixo também.
    procedure TACBrNFSeProviderIPM.ProcessarMensagemErros( RootNode: TACBrXmlNode; Response: TNFSeWebserviceResponse; const AListTag, AMessageTag: string); var I: Integer; ANode: TACBrXmlNode; ANodeArray: TACBrXmlNodeArray; AErro: TNFSeEventoCollectionItem; aMsg, Codigo: string; begin ANode := RootNode.Childrens.FindAnyNs(AListTag); if (ANode = nil) then ANode := RootNode; ANodeArray := ANode.Childrens.FindAllAnyNs(AMessageTag); if not Assigned(ANodeArray) then Exit; for I := Low(ANodeArray) to High(ANodeArray) do begin Codigo := ObterConteudoTag(ANodeArray[I].Childrens.FindAnyNs('codigo'), tcStr); aMsg := ACBrStr(ObterConteudoTag(ANodeArray[I].Childrens.FindAnyNs('Mensagem'), tcStr)); { Codigo = 00001 significa que o processamento ocorreu com sucesso, logo não tem erros. } if ((Codigo <> '00001') and (Codigo <> '00001 - Sucesso')) then begin AErro := Response.Erros.New; AErro.Codigo := Codigo; AErro.Descricao := aMsg; AErro.Correcao := ''; end; end; end;

  2. VEXCOM Sistemas - Valtair's post in Chamada do método via TCP/IP, Criar e enviar NFe was marked as the answer   
    Estava tentando utilizar o ACBR Monitor Plus, pois não sabia que seria possível usar os componentes ACBR dentro da minha DLL.
    Estava sofrendo com as dependencias de Forms, Graphics e controls dentro da minha aplicação.
    O problema foi meu aqui mesmo, vi que podemos usar direto os componentes ACBr mesmo na DLL, há como remover estas dependencias utilizando uma diretiva na compilação, por exemplo na unit ACBrSocket.pas que tem:
    Uses math, StrUtils, synacode, ACBrUtil.Base, ACBrUtil.Strings, ACBrUtil.XMLHTML, synautil {$IFDEF UPDATE_SCREEN_CURSOR} ,Controls, Forms {$ENDIF}; e já está previsto que se não quiser fazer o uses, podemos colocar a diretiva na compilação NOGUI que já faz o undef
    {$IFDEF NOGUI} {$UNDEF UPDATE_SCREEN_CURSOR} {$ENDIF} Isso resolveu o meu problema, já estava previsto por vocês.
  3. VEXCOM Sistemas - Valtair's post in Cancelamento de transação TEF was marked as the answer   
    O problema era no evento ACBrTEFDPayGoWebObtemCampo
     
    Deve haver o onlynumber quando há solicitação da DLL para valores, no meu caso estava retornando virgula, e estava abortando o processo ou não encontrando a venda
    o código abaixo resolveu o problema.
          if (AForm.TipoCampo = tcoCurrency) then  // PayGoWeb não precisa de ponto decimal
            Resposta := OnlyNumber(Resposta);
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.