
marcio.teixeira
Membros-
Total de ítens
21 -
Registro em
-
Última visita
Últimos Visitantes
O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.
marcio.teixeira's Achievements
-
Método recepcionarLoteRpsLimitado na NFSe de São Leopoldo
marcio.teixeira replied to marcio.teixeira's tópico in ACBrNFSe
Eu desenvolvi um sistema próprio de envio, nele usava o método Limitado, ali o processamento ocorre junto com o envio. Mas por causa das outras cidade resolvido usar o ACBr, para deixar mais centralizadas as coisas. Pra você costuma ocorrer erro no retorno do webservice, algo do tipo JavaSqlException? -
Método recepcionarLoteRpsLimitado na NFSe de São Leopoldo
um tópico no fórum postou marcio.teixeira ACBrNFSe
Bom dia. É possível usar o método recepcionarLoteRpsLimitado na NFS-e de São Leopoldo, provedor Thema? Tentei alterar isso no método GeraEnvelopeRecepcionarLoteRPS da unit ACBrProvedorThema, mas ficou na mesma, troquei recepcionarLoteRps por recepcionarLoteRpsLimitado e não processou na hora. No cliente o envio será nota por nota, ficaria melhor se fosse processado na hora. -
Problema no retorno de envio de Rps - provedor Thema
um tópico no fórum postou marcio.teixeira ACBrNFSe
Alguém já teve problema no retorno do webservice do provedor Thema, cidade São Leopoldo/RS? Algumas vezes me retorna essa mensagem: --- The error occurred while executing update procedure. --- Check the call GRP_TRI_nfse_pack.gravaLote(?, ?, ?, ?, ?, ?, ?). --- Check the SQL Statement (preparation failed). --- Cause: java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.InterruptedException Ou então essa: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; --- The error occurred while executing query. --- Check the SELECT GRP_TRI_nfseMensagem.codigo as codigo, GRP_TRI_nfseMensagem.codigo || chr(45) || (case when nvl(GRP_TRI_nfseConsistencia.numeroRps,1) NOT IN(1) then 'Rps ' || trim(to_char(GRP_TRI_nfseConsistencia.numeroRps)) || ' ' || SUBSTR(TRIM(GRP_TRI_nfseMensagem.MENSAGEM),1,180) else SUBSTR(TRIM(GRP_TRI_nfseMensagem.MENSAGEM),1,200) end) as MENSAGEM, GRP_TRI_nfseMensagem.SOLUCAO FROM GRP_TRI_nfseConsistencia, GRP_TRI_nfseMensagem WHERE GRP_TRI_nfseConsistencia.numeroProtocolo = ? AND GRP_TRI_nfseConsistencia.codigoMensagem = GRP_TRI_nfseMensagem.codigo . --- Check the SQL Statement (preparation failed). --- Cause: java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.InterruptedException; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred while executing query. --- Check the SELECT GRP_TRI_nfseMensagem.codigo as codigo, GRP_TRI_nfseMensagem.codigo || chr(45) || (case when nvl(GRP_TRI_nfseConsistencia.numeroRps,1) NOT IN(1) then 'Rps ' || trim(to_char(GRP_TRI_nfseConsistencia.numeroRps)) || ' ' || SUBSTR(TRIM(GRP_TRI_nfseMensagem.MENSAGEM),1,180) else SUBSTR(TRIM(GRP_TRI_nfseMensagem.MENSAGEM),1,200) end) as MENSAGEM, GRP_TRI_nfseMensagem.SOLUCAO FROM GRP_TRI_nfseConsistencia, GRP_TRI_nfseMensagem WHERE GRP_TRI_nfseConsistencia.numeroProtocolo = ? AND GRP_TRI_nfseConsistencia.codigoMensagem = GRP_TRI_nfseMensagem.codigo . --- Check the SQL Statement (preparation failed). --- Cause: java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.InterruptedException O pior é que a nota é recebida pelo site, mas como ocorre o erro não tenho o Xml de retorno para atualizar os dados de envio no sistema do cliente. -
Bom dia. Outra informação que pode ser útil a quem quiser ajudar. O Xml de retorno do webservice está ok, vem com todas as informações de confirmação de cancelamento.
-
Pessoal, estou testando o cancelamento de notas, ele ocorre, a nota é realmente cancelada, só que as informações não são carregadas para o retorno, a data de cancelamento está zerada. Meu código de solicitação: var Stream: TStringStream; begin Result := nil; if aEnvio = nil then Exit; FNFSe.NotasFiscais.Clear; CarregaConfiguracao(FCodUnidade); try try MostraTelaConexao(); if FNFSe.ConsutaNFSeporRps(IntToStr(aEnvio.NumeroRps), aEnvio.Serie, IntToStr(aEnvio.Tipo), aEnvio.Cnpj, aEnvio.InscricaoMunicipal) then begin Stream := TStringStream.Create(FNFSe.WebServices.ConsNfseRps.RetWS); FNFSe.NotasFiscais.LoadFromStream(Stream); Application.MessageBox(PChar(FNFSe.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero), 'Erro', MB_ICONERROR + MB_OK + MB_DEFBUTTON1); if FNFSe.CancelarNFSe('2') then Result := TRespostaCancelamentoNfse.Create(FNFSe); end; finally FechaTelaConexao(); end; except on E: Exception do TrataErro(E); end; Meu código de tratamento do retorno: constructor TRespostaCancelamentoNfse.Create(aNFSe: TACBrNFSe); begin inherited Create(); FSucesso := False; if aNFSe.WebServices.CancNfse.NFSeRetorno.InfCanc <> nil then FSucesso := aNFSe.WebServices.CancNfse.NFSeRetorno.InfCanc.DataHora <> 0; end; Estou usando algo de forma errada? Obs.: estou usando os novos fontes.
-
Pois é, o que eu fiz foi passar a salvar o xml e carregar na hora da consulta. Mas com certeza seria melhor só passar os parâmetros e consultar. Até é possível pelo que ví, usando a consulta a partir de NFSe.WebServices.ConsultaLoteRps(Protocolo, Cnpj, InscricaoMunicipal) ao invés de NFSe.ConsutarLoteRps(NumeroLote, Protocolo), mas ai dá erro ao passar as informações para a NotasFiscais.Items[ii] dentro do método Executar de TNFSeConsultarLoteRPS. Está assim: FRetListaNfse := SeparaDados(FRetWS, Prefixo3 + 'ListaNfse'); i := 0; while FRetListaNfse <> '' do begin // Alterado por Rodrigo Cantelli j := Pos('' + Prefixo3 + NotaUtil.seSenao(FProvedor = proBetha, 'ComplNfse', 'CompNfse') + '>', FRetListaNfse); p := Length(trim(Prefixo3)); if j > 0 then begin // Alterado por Italo em 19/07/2012 for ii := 0 to NFSeRetorno.ListaNfse.CompNfse.Count -1 do begin if FNotasFiscais.Items[ii].NFSe.IdentificacaoRps.Numero = NFSeRetorno.ListaNfse.CompNfse.Items[i].Nfse.IdentificacaoRps.Numero then begin FNotasFiscais.Items[ii].NFSe.CodigoVerificacao := NFSeRetorno.ListaNfse.CompNfse.Items[i].Nfse.CodigoVerificacao; FNotasFiscais.Items[ii].NFSe.Numero := NFSeRetorno.ListaNfse.CompNfse.Items[i].Nfse.Numero; FNotasFiscais.Items[ii].NFSe.Competencia := NFSeRetorno.ListaNfse.CompNfse.Items[i].Nfse.Competencia; FNotasFiscais.Items[ii].NFSe.NfseSubstituida := NFSeRetorno.ListaNfse.CompNfse.Items[i].Nfse.NfseSubstituida; Será que não poderia haver um opção para pegar o Xml da consulta da situação e carregar as notas no campo FNotasFiscais via StringStream? Assim: FNotasFiscais.LoadFromStream(TStringStream.Create(FRetListaNfse)); Dessa forma não precisamos carregar o Rps.
-
Atualização de componentes NFSe com os novos fontes
marcio.teixeira replied to marcio.teixeira's tópico in ACBrNFSe
Alguém ja teve esse erro e ou sabe como resolver? -
Italo, ok agora vi que dá para passar vazio. Desculpe, é que estou usando os componentes a pouco dias. Value.
-
Ok, entendi, vou passar para o componente os dados e dai consultar. Outra dúvida que surgiu agora: No método TWebServicesBase.LoadMsgEntrada, o sistema carrega o Websrvice conforme FConfiguracoes.WebServices.Provedor informado. Porém esse campo é read only, não consigo setar o provedor, ainda dependendo do médoto Configuracoes.WebServices.SetConfigMunicipio() para isso. A ideia não era eliminar o uso desse arquivo? Como posso fazer isso?
-
Nos novos fontes da NFSe na ConsutarNFSeporRps() há uma validação que exige que tenham registros na NotaFiscal: if NotasFiscais.Count <= 0 then begin if Assigned(Self.OnGerarLog) then Self.OnGerarLog('ERRO: Nenhum RPS adicionado'); raise Exception.Create('ERRO: Nenhum RPS adicionado'); exit; end; Não entendi o porque dessa validação, não digo que está errada, talvés eu não esteje usando corratamente, mas e se eu não tiver o arquivo Xml em mãos, como vou fazer para carregar a nota? Vi que no exemplo é feito um load, a nota é carregada e a consulta é feita buscando os parâmetros da propria nota carregada: OpenDialog1.Title := 'Selecione o Rps'; OpenDialog1.DefaultExt := '*-Rps.xml'; OpenDialog1.Filter := 'Arquivos Rps (*-Rps.xml)|*-Rps.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*'; OpenDialog1.InitialDir := ACBrNFSe1.Configuracoes.Geral.PathSalvar; if OpenDialog1.Execute then begin ACBrNFSe1.NotasFiscais.Clear; ACBrNFSe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName); ACBrNFSe1.ConsutarNFSeporRps(ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero, ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Serie, TipoRPSToStr(ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Tipo), ACBrNFSe1.NotasFiscais.Items[0].NFSe.Prestador.Cnpj, ACBrNFSe1.NotasFiscais.Items[0].NFSe.Prestador.InscricaoMunicipal); MemoResp.Lines.Text := UTF8Encode(ACBrNFSe1.WebServices.ConsNfseRps.RetWS); memoRespWS.Lines.Text := UTF8Encode(ACBrNFSe1.WebServices.ConsNfseRps.RetWS); LoadXML(MemoResp, WBResposta); end; Nesse caso, porque eu consultaria via webservice se tenho o Xml? E no caso de não ter o Xml salvo na máquina, como consultar?
-
Atualização de componentes NFSe com os novos fontes
um tópico no fórum postou marcio.teixeira ACBrNFSe
Boa tarde. Fiz a instalação dos novos fontes. Porém está dando erro 'Property TransparentBand does not exist', na instalação deu erro de compilação, ai alterei a unit do quickretpor para qrtp70, que é a versão que usamos aqui. Deve ser esse o problema. Tem como resolver isso? -
Boa tarde. Essa impressão feita com o componente TACBrNFSeDANFSeQR serve apenas como comprovante ou é a NFS-e? Pergunto porque preciso imprimir um comprovante para entrega ao cliente, trabalho atualmente com duas cidades, o comprovante será o mesmo?
-
Dúvida sobre instalação de ACBr_NFSe
marcio.teixeira replied to marcio.teixeira's tópico in ACBrNFSe
Pessoal, encontrei o problema: o correto é deixar {$DEFINE ACBrNFSeOpenSSL} descomentada, porém tem que incluir o caminho ACBr\Fontes\synalist no Library. Está resolvido. Obrigado. Sim, baixei do trunk também. -
Bom dia. Uso Delphi 7. Baixei os fontes do ACBr e segui o manual Instalar_ACBrNFSe.txt da pasta https://acbr.svn.sourceforge.net/svnroot/acbr/branches. Foi criada a aba ACBr com os componentes, tudo ok. Porém, quando vou compilar dá erro de [Error] ACBrNFSeUtil.pas(114): Undeclared identifier: 'ICertificate2' e [Fatal Error] ACBrNFSeUtil.pas(126): File not found: 'libxml2.dcu' na ACBrNFSeUtil, e com {$DEFINE ACBrNFSeOpenSSL} descomentada, se comentar da erro [Fatal Error] ACBrNFSeNotasFiscais.pas(15): File not found: 'smtpsend.dcu' na ACBrNFSeNotasFiscais. Será que fiz algo de errado na instalação?
-
Dúvidas para ajustar prefixos e namespaces - Delphi 7
um tópico no fórum postou marcio.teixeira ACBrNFSe
Boa tarde. Estou desenvolvendo rotina de geração de Xml de NFS-e. Já fiz para a prefeitura de São Leopoldo/RS e agora estou tentando fazer para Pelotas/RS. As classes de modelagem do Xml eu importei atravez da ferramente XM Data Binding do Delphi (7). Como a estrutura é a mesma nas duas cidades, gostaria de aproveitar essas classes que uso em São Leopoldo em Pelotas. A diferença está nos namespaces, em São Leopolso há apenas um Xsd com todas as definições, ai fica fácil, coloco um namespace geral, sem prefixo e nada e funciona legal. Só que em Pelotas para cada serviço irá o Xsd expecífico, além do Xsd dos tipos que pelo que vi irão em todos os arquivos. Não sei como em tempo de execução incluir esses namespaces, alguém tem alguma sugestão?