Ir para conteúdo
  • Cadastre-se

Rafael Araujo

Membros
  • Total de ítens

    18
  • Registro em

  • Última visita

Últimos Visitantes

605 visualizações

Rafael Araujo's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputação

  1. Opa, boa tarde pessoal. Daniel, obrigado pela indicação. Vander, que estranho ter dado problema no e-mail pra você, mas eu já recebi aqui e te respondo por lá, ok? Abraço.
  2. Estranho... No meu caso, o método EnviarSincrono retorna False. Debugando notei que acontece na função TWebServices.EnviaSincrono da unit ACBrNFSeWebServices. Devido ao problema por mim mencionado no post anterior, ou seja, não conseguir ler o XML de Retorno, a linha "Result := FEnviarSincrono.Executar" tem resultado negativo e com isso, logo abaixo é gerado um exception, porém sem mensagem alguma. Segue o fragmento de código da unit ACBrNFSeWebServices: function TWebServices.EnviaSincrono(ALote: String): Boolean; begin FEnviarSincrono.FNumeroLote := ALote; Result := FEnviarSincrono.Executar; if not (Result) then FEnviarSincrono.GerarException( FEnviarSincrono.Msg ); . . . . . end;
  3. Senhores, boa tarde. Com os fontes novos eu consegui fazer o envio do RPS pelo método EnviarSincrono, porém o método não está conseguindo ler o XML de retorno da prefeitura e popular as properties dentro do componente. Debugando, acredito que o problema esteja na unit pnfsEnvLoteRpsResposta.pas, mais especificamente na função TretEnvLote.LerXml que para o provedor WebISSv2 chama a função LerXml_ABRASF e ela faz referencias a tags que não estão presentes no XML de retorno. Segue em anexo ao XML de retorno da prefeitura. 30739-recS-soap.xml 30739-recS.xml
  4. Olá gente, boa tarde. Vocês já estão conseguindo enviar NFSe para Niterói após sua atualização?
  5. Olá Ítalo, boa tarde. Eu ainda não estou conseguindo enviar o cancelamento para este provedor, mas por estar com outras prioridades no momento, não peguei este problema pra resolver. Também tive um problema que logo assim que a NFSe era enviada pelo método EnviarSincrono, é levantado um Exception sem mensagem alguma... Mas isso eu tratei em minha aplicação mesmo já que se invocar o método ConsultarNFSeporRps logo após ele ocorrer consegui baixar o XML numa boa.
  6. Vaceano, bom dia. Tavez a informação ajude: eu só consegui enviar NFSe para o provedor Tecnos desabilitando a flag "Validar" no arquivo Tecnos.ini. Segue abaixo o link do post no qual tratei do assunto com os amigos do forum:
  7. Senhores, bom dia. Os fontes do Trunk2 apresentaram um erro ao executar o método LoadFromFile do componente ACBrNFSe para notas fiscais do provedor Tecnos. Debugando os códigos, pude identificar que o problema acontecia no campo "Competência" que sua property é String, mas no fonte pnfsNFSeW_ABRASFv2 linha 756 é passado para ser lido como DateTime para este provedor. Para resolver de forma ágil meu problema, tomei a liberdade de alterar o fonte pnfsNFSeR linhas 942 e 1373 para converter o valor para o formato DateTime caso seja o provedor Tecnos. Segue em anexo o fonte alterado bem como o XML da NFSe que eu estava tentando carregar, porém não conseguia. 943T1.IFAL5-nfe.xml pnfsNFSeR.pas
  8. Valeu Italo, muito obrigado pelas informações.
  9. Rafael Araujo

    Impressão de NFSe

    Senhores, boa tarde. Após a última atualização dos fontes da NFSe a DANFSE no XML anexo passou a apresentar um erro "Código Inválido" ao tentar imprimir. Ao efetuar o LoadFromFile deste arquivo, na lista de Notas Fiscais do componente TACBrNFSe aparem 2 notas quando na verdade deve ter apenas uma. Debuguei os códigos do LoadFromFile e vi que o problema acontece no nested method PosNFSe do método TNotasFiscais.LoadFromString que fora alterado em 04/02/2016. Retornei a função ao que era anteriormente e a DANFSE voltou a ser impressa normalmente. Pensei em efetuar a alteração no código e apresentar o fonte já corrigido, porém como não tenho o domínio do por que a alteração foi feita, decidi apenas comentá-la. Segue abaixo os códigos antes e depois da alteração de 04/02: //Antigo function PosNFSe: Integer; begin // Provedor Infisc TamTAG := 7; Result := Pos('</NFS-e>', AXMLString); if Result = 0 then begin TamTAG := 6; Result := Pos('</Nfse>', AXMLString); // provedor ISSDSF if Result = 0 then Result := Pos('</Nota>', AXMLString); end; end; //Atual function PosNFSe: Integer; begin // Provedor Infisc TamTAG := 7; Result := Pos('</NFS-e>', AXMLString); if Result = 0 then begin TamTAG := 10; Result := Pos('</CompNfse>', AXMLString); if Result = 0 then begin TamTAG := 6; Result := Pos('</Nfse>', AXMLString); // provedor ISSDSF if Result = 0 then Result := Pos('</Nota>', AXMLString); end; end; end; 486003662-nfe.xml
  10. Rafael Araujo

    DACTE CTe com CST60

    Olá senhores, bom dia. Estamos homologando nosso sistema com o TRUNK2 e me deparei com um problema quanto a impressão da DACTE com CST60. No manual de impressão da DACTE (https://www.fazenda.sp.gov.br/cte/Manual_DACTE_v1.01.pdf) nas páginas 15 e 16 é solicitada a impressão das seguintes TAGs por Campo: Base de Cálculo....: vBC Aliq. ICMS.........: pICMS Valor ICMS.........: vICMS % Red.BC.Calc......: pRedBC ICMS ST............: vICMSSTRet No fonte ACBrCTeDACTEFR.pas que é onde os DataSets são populados para a impressão da DACTE, a partir da linha 1440 temos: cst60: begin FieldByName('TXTSITTRIB').AsString := CSTICMSToStrTagPosText(cst60); FieldByName('vBC').AsFloat := FCTe.Imp.ICMS.ICMS60.vBCSTRet; FieldByName('pICMS').AsFloat := FCTe.Imp.ICMS.ICMS60.pICMSSTRet; FieldByName('vICMS').AsFloat := FCTe.Imp.ICMS.ICMS60.vICMSSTRet; FieldByName('vCredito').AsFloat := FCTe.Imp.ICMS.ICMS60.vCred; end; Podemos ver que para a impressão, os campos vBC, pICMS e vICMS são substituídos respectivamente por vBCSTRet, pICMSSTRet e vICMSSTRet e além disso o campo ICMSST não é preenchido. Como esta alteração foi solicitada por um contador de um cliente e para manter compatibilidade com minha versão atual, alterei este fragmento de código para o código abaixo: cst60: begin FieldByName('TXTSITTRIB').AsString := CSTICMSToStrTagPosText(cst60); //FieldByName('vBC').AsFloat := FCTe.Imp.ICMS.ICMS60.vBCSTRet; //FieldByName('pICMS').AsFloat := FCTe.Imp.ICMS.ICMS60.pICMSSTRet; //FieldByName('vICMS').AsFloat := FCTe.Imp.ICMS.ICMS60.vICMSSTRet; //FieldByName('vCredito').AsFloat := FCTe.Imp.ICMS.ICMS60.vCred; FieldByName('VICMSST').AsFloat := FCTe.Imp.ICMS.ICMS60.vICMSSTRet; end; Não gostaria de cometer o mesmo erro de outrora e fazer com que meus fontes fiquem diferentes dos do ACBr dificultando assim sua atualização, gostaria de colocar em pauta essa questão com vocês que, sem sombra de dúvidas, entendem muito mais do assunto do que eu. Segue em anexo o fonte completo alterado. ACBrCTeDACTEFR.pas
  11. Italo, boa tarde. Notei que atualizou os schemas do provedor Tecnos, porém a alteração de código fonte quanto ao número de lote proposta pelo amigo Sidnei não foi disponibilizada. Pelos testes que efetuei, ela realmente se faz necessária... Verifique a diferença da TAG NumeroLote dos arquivos XML anexados com e sem a alteração proposta. Se não for alterado o número do lote, o WebService da Tecnos retorna um erro dizendo que o valor não é suportado para um campo Int64. Anexarei também o fonte alterado... Linha 427. Obrigado. 32-env-lotS --- COM ALTERAÇÃO.xml 44-env-lotS --- SEM ALTERAÇÃO.xml pnfsNFSeG.pas
  12. Estava com problemas para enviar a NFSe para o município de Duque de Caxias-RJ que utiliza o provedor Tiplan. O problema era a url de homologação/produção que constava no arquivo Cidades.INI para este município. Antes: [3301702] Nome=Duque de Caxias UF=RJ Provedor=Tiplan NomeURL_H=nfse.duquedecaxias.rj NomeURL_P=nfse.duquedecaxias.rj Depois: [3301702] Nome=Duque de Caxias UF=RJ Provedor=Tiplan NomeURL_H=spe.duquedecaxias.rj NomeURL_P=spe.duquedecaxias.rj Feita apenas esta alteração consegui enviar o RPS normalmente. Segue em anexo o arquivo Cidades.INI já alterado. Obrigado. Cidades.INI
  13. Bom dia Italo. Claro... Segue em anexo os schemas baixados do site http://help.nfse-tecnos.com.br/downloads.aspx Schemas_data_center.zip
  14. Italo, o único arquivo xsd que tem na pasta do TRUNK é o xmldsig-core-schema20020212.xsd e a função GetValidarLote da antiga unit ACBrProvedorTecnos retorna sempre FALSE. Quanto aos schemas disponíveis no TRUNK2 do ACBr e os que baixei do site do provedor Tecnos que eu havia dito estarem bem diferentes, eles vão em anexo a esta mensagem para que possa visualizar. EnvioLoteRpsSincronoEnvio - TECNOS.xsd EnvioLoteRpsSincronoEnvio - ACBr.xsd
  15. Senhores, depois de muito penar enfim consegui enviar a NFSe para a prefeitura de Portão-RS. Mesmo após a dica do amigo Sidnei, permanecia com muitos erros na hora da validação pelo schema. Comparando o arquivo EnvioLoteRpsSincronoEnvio.xsd que está disponível na pasta "ACBr\Exemplos\ACBrDFe\ACBrNFSe\Schemas\Tecnos" com o mesmo arquivo baixado do site do provedor Tecnos, verifiquei que os arquivos são bem diferentes entre si, acredito que os schemas disponíveis no ACBr estão desatualizados. Tentei enviar então com os schemas baixados do site da Tecnos e também não passava pela validação. Comecei a me questionar o como que com os fontes do TRUNK o envio era feito normalmente e ainda fiquei mais intrigado quando vi que não continham schemas na pasta do provedor Tecnos, até que cheguei a conclusão que a validação não era feita no TRUNK e por isso que funcionava. Com esta premissa, desabilitei a validação de schemas através da flag "VALIDAR" na área [Schemas] do arquivo ini do provedor Tecnos e após isso a NFSe fora enviada. Uma pergunta: alguém estava conseguindo enviar NFSes para o provedor Tecnos mesmo com a flag "VALIDAR" ativa?
×
×
  • 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.

The popup will be closed in 10 segundos...