-
Total de ítens
707 -
Registro em
-
Última visita
-
Days Won
7
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Mark Apollo postou
-
Acbrnfe Consultanfedest Retorna Mesmo Ultnsu
Mark Apollo replied to Fernando Damke's tópico in ACBrNFe
Este serviço está uma porcaria, entrei em contato com a receita e não consegui nenhuma informação sobre como informar os problemas, após entrar em contato com a sefaz do ES e com algumas trocas de emails fui respondido pela PRODEST que estes problemas não são problemas, mas, "características". Estou preparando um email com estatísticas de erros e demora na consulta para continuar a comunicação. Tenho mais de 10 CNPJ's para consultar e não consigo chegar ao ultimo NSU mesmo com um dia inteiro de processamento. -
Opa!! o arquivo é: WindowsServer2003-KB968730-x86-PTB http://support.microsoft.com/kb/968730/pt-br?wa=wsignin1.0
-
Newbie, rsrs Esqueci de clicar em "Anexar este arquivo". rsrs ACBrEFDBloco_0_Class.pas
-
Galera, ao gerar o SPED Fiscal, fui informar os itens de material de consumo onde o COD_GEN deve ser informado como vazio '' e o ACBr estava informando '00' quando não informado nada. Seu preenchimento é obrigatório somente quando na aquisição de produtos primários. segue em anexo a correção do mesmo.
-
Qual é seu banco de dados? Utilizo SQL Server e faço isso tratando o campo como varchar(max) mesmo ele sendo do tipo XML, Amanhã posto o código de como gravar ele em banco, para ler, basta converter o campo para varchar.
-
Para notas de emissão própria não informar o registro c170, ou seja, quando emissor da nfe, não informar os itens, basta informar o C190 e dependentes.
-
Tenho tido um certo receio sobre o futuro do capicom no windows..... Não, não consegui instalar no win 8
-
The Operation Timed Out Url Http://www.sefazvirtual.fazenda.gov
Mark Apollo replied to igmaster2000's tópico in ACBrNFe
o SVAN está instável nestes dois últimos dias, só não sei afirmar se é o servidor ou algum roteador no caminho para ele, como no ano passado. -
Galera, Segundo o manual do SPED, página 109 os nomes dos campos 08-09 são terminados com UF, e não com ST. Corrigido as units e anexadas ao post. ACBrSPEDFiscal.zip
-
Olá, sou do ES, mas, consulto no WS nacional (AN).
-
Ou seja, sabendo que a emissão da nota foi em 10/10/2012, você não pode mais baixa-la via serviço, exatamente como está escrito no retorno: Rejeicao: Solicitacao fora de prazo, a NF-e nao esta mais disponivel para download No site é possível baixá-la porque a receita (ainda) não bloqueou o download do xml por tempo, assim como ocorre no CTe.
-
Desculpe-me, fui conferir e realmente não tem, confundi o cancelamento com a consulta!
- 6 replies
-
- Cancelamento
- Cancelar
-
(e 1 mais)
Tags:
-
Para cancelar basta informar a Chave, verifique no demo, deve haver um exemplo de como fazer isso.
- 6 replies
-
- Cancelamento
- Cancelar
-
(e 1 mais)
Tags:
-
Mesmo que gere o xml, não será o que foi autorizado, pois, mesmo que gere com a mesma chave, a assinatura e a digvalue serão diferentes, fazendo com que o xml seja inválido.
-
Se não me engano, é possível verificar a validade do certificado, desta forma basta implementar o alerta em seu sistema.
-
Ninguém? será que só eu estou tendo este problema ou a galera está satisfeita com o desempenho???
-
O componente valida se a IE é válida somente, não tem como ele validar se a IE está ativa ou mesmo se ela é vinculada a aquele CNPJ.
-
Amigos, sem querer ser redundante, mas correndo o risco abro este tópico para tentar discutir sobre o desempenho do serviço de Consulta de NFe Destinadas, pois já tentei otimizar o processo ao máximo mais tenho que fazer milhares de requisições para conseguir recuperar os eventos. Vamos aos fatos: Este é o código da minha procedure: procedure TProcessaNFe.ConsultarNFeDestinatario(Cd_Empresa, Cd_Filial: Integer); var CNPJ, IndNFe, IndEmi, ultimoNSU, sSQL: string; ok: boolean; i, Qt_Loops, Qt_Eventos: Integer; retorno: TRetCollectionItem; Impresso, sChave, sCNPJ, sNome, NFe_DigVal, sIEst, sNSU, sTipoNFe: String; Valor: Double; Dt_Emissao:TDateTime; Cd_Evento:Integer; Cd_EventoSefaz:Integer; NFe_Manifesto:Integer; NFe_Correcao: string; NFe_DescEvento: string; {vChave : String; Origem, DiretorioMes: string; PathDestino: string; XMLRecebido: TStrings; Cd_XML: Integer; } begin try CNPJ := QryFilial.FieldByName('Nr_CGC').AsString; (*veja NT 2012/002 pág. 11 para identificar os valores possíveis Indicador de NF-e consultada: 0=Todas as NF-e; 1=Somente as NF-e que ainda não tiveram manifestação do destinatário (Desconhecimento da operação, Operação não Realizada ou Confirmação da Operação); 2=Idem anterior, incluindo as NF-e que também não tiveram a Ciência da Operação.*) indNFe := '2'; (*veja NT 2012/002 pág. 11 para identificar os valores possíveis Indicador do Emissor da NF-e: 0=Todos os Emitentes / Remetentes; 1=Somente as NF-e emitidas por emissores / remetentes que não tenham a mesma raiz do CNPJ do destinatário (para excluir as notas fiscais de transferência entre filiais).*) IndEmi := '1'; (*veja NT 2012/002 pág. 11 para identificar os valores possíveis Último NSU recebido pela Empresa. Caso seja informado com zero, ou com um NSU muito antigo, a consulta retornará unicamente as notas fiscais que tenham sido recepcionadas nos últimos 15 dias.*) ultimoNSU := QryFilial.FieldByName('NFe_NSU').AsString; Qt_Loops := 0; Qt_Eventos := 0; AddMensagem('Primeiro NSU: ' + ultimoNSU); with ACBrNFe.WebServices.ConsNFeDest.retConsNFeDest do begin repeat Inc(Qt_Loops); ACBrNFe.ConsultaNFeDest(CNPJ, StrToIndicadorNFe(ok,indNFe), StrToIndicadorEmissor(ok,IndEmi), UltNSu); for i := 0 to ret.Count - 1 do begin sChave := ''; NFe_DigVal := ''; retorno := ret.Items[i]; Cd_Evento := 0; NFe_DigVal := ''; Valor := 0; sNome := ''; sCNPJ := ''; Cd_EventoSefaz := 0; sNSU := ''; NFe_Correcao := ''; NFe_DescEvento := ''; if not(retorno.resNFe = nil) and not(retorno.resNFe.chNFe = EmptyStr) then begin // Conjunto de informações resumo da NF-e localizadas. // Este conjunto de informação será gerado quando a NF-e for autorizada ou denegada. sChave := retorno.resNFe.chNFe; NFe_DigVal := retorno.resNFe.digVal; //sSerie := Copy(sChave, 23, 3); //sNumero := Copy(sChave, 26, 9); sCNPJ := retorno.resNFe.CNPJCPF; sNome := retorno.resNFe.xNome; sIEst := retorno.resNFe.IE; case retorno.resNFe.tpNF of tnEntrada: sTipoNFe := 'E'; tnSaida: sTipoNFe := 'S'; end; sNSU := retorno.resNFe.NSU; Dt_Emissao := retorno.resNFe.dEmi; Valor := retorno.resNFe.vNF; case retorno.resNFe.cSitNFe of snAutorizado: Impresso := 'A'; snDenegado: Impresso := 'D'; snCancelada: Impresso := 'C'; end; case retorno.resCanc.cSitNFe of snAutorizado: Cd_EventoSefaz := 110100; snDenegado: Cd_EventoSefaz := 110101; snCancelada: Cd_EventoSefaz := 110111; end; end; if not(retorno.resCanc = nil) and not(retorno.resCanc.chNFe = EmptyStr) then begin // Conjunto de informações resumo da NF-e localizadas. // Este conjunto de informação será gerado quando o Cancelamento da NF-e for homologado. sChave := retorno.resCanc.chNFe; NFe_DigVal := retorno.resCanc.digVal; //sSerie := Copy(sChave, 23, 3); //sNumero := Copy(sChave, 26, 9); sCNPJ := retorno.resCanc.CNPJCPF; sNome := retorno.resCanc.xNome; sIEst := retorno.resCanc.IE; case retorno.resCanc.tpNF of tnEntrada: sTipoNFe := 'E'; tnSaida: sTipoNFe := 'S'; end; sNSU := retorno.resCanc.NSU; Dt_Emissao := retorno.resCanc.dEmi; Valor := retorno.resCanc.vNF; case retorno.resCanc.cSitNFe of snAutorizado: Impresso := 'A'; snDenegado: Impresso := 'D'; snCancelada: Impresso := 'C'; end; case retorno.resCanc.cSitNFe of snAutorizado: Cd_EventoSefaz := 110100; snDenegado: Cd_EventoSefaz := 110101; snCancelada: Cd_EventoSefaz := 110111; end; end; if not(retorno.resCCe = nil) and not(retorno.resCCe.chNFe = EmptyStr) then begin // Conjunto de informações resumo da NF-e localizadas. // Este conjunto de informação será gerado quando o Cancelamento da NF-e for homologado. sChave := retorno.resCCe.chNFe; Dt_Emissao := retorno.resCCe.dhEvento; sNSU := retorno.resCCe.NSU; case retorno.resCCe.tpNF of tnEntrada: sTipoNFe := 'E'; tnSaida: sTipoNFe := 'S'; end; Cd_Evento := retorno.resCCe.nSeqEvento; Cd_EventoSefaz := StrToInt(TpEventoToStr(retorno.resCCe.tpEvento)); NFe_DescEvento := retorno.resCCe.descEvento; NFe_Correcao := retorno.resCCe.xCorrecao; end; if not(sChave = EmptyStr) then begin with QryUpd_Manifestacao do begin //@pCd_Empresa = :vCd_Empresa Parameters.ParamByName('vCd_Empresa').Value := Cd_Empresa; //@pCd_Filial = :vCd_Filial Parameters.ParamByName('vCd_Filial').Value := Cd_Filial; //@pNFe_Chave = :vNFe_Chave Parameters.ParamByName('vNFe_Chave').Value := sChave; //@pNFe_Dt_Recepcao = :vNFe_Dt_Recepcao Parameters.ParamByName('vNFe_Dt_Recepcao').Value := Dt_Emissao; //@pNFe_Tipo = :vNFe_Tipo Parameters.ParamByName('vNFe_Tipo').Value := sTipoNFe; //@pNFe_DigVal = :vNFe_DigVal Parameters.ParamByName('vNFe_DigVal').Value := NFe_DigVal; //@pNFe_Valor = :vNFe_Valor Parameters.ParamByName('vNFe_Valor').Value := Valor; //@pNFe_Emissor = :vNFe_Emissor Parameters.ParamByName('vNFe_Emissor').Value := sNome; //@pNFe_CNPJCPF = :vNFe_CNPJCPF Parameters.ParamByName('vNFe_CNPJCPF').Value := sCNPJ; //@pCd_Evento = :vCd_Evento Parameters.ParamByName('vCd_Evento').Value := Cd_Evento; //@pCd_EventoSefaz = :vCd_EventoSefaz Parameters.ParamByName('vCd_EventoSefaz').Value := Cd_EventoSefaz; //@pNFe_NSU = :vNFe_NSU Parameters.ParamByName('vNFe_NSU').Value := sNSU; //@pNFe_Correcao = :vNFe_Correcao Parameters.ParamByName('vNFe_Correcao').Value := NFe_Correcao; //@pNFe_DescEvento = :vNFe_DescEvento Parameters.ParamByName('vNFe_DescEvento').Value := NFe_DescEvento; ExecSQL; Inc(Qt_Eventos); end; end; end; ultimoNSU := ultNSU; until indCont = icNaoPossuiMaisDocumentos; end; sSQL := 'Update A ' + 'Set ' + ' NFe_NSU = :vNFe_NSU ' + 'From ' + ' dbo.Parametros A ' + 'Where ' + ' A.Cd_Filial = :vCd_Filial'; with CriarQuery(sSql) do begin Parameters.ParamByName('vNFe_NSU').Value := ultimoNSU; Parameters.ParamByName('vCd_Filial').Value := Cd_Filial; ExecSQL; end; AddMensagem('Eventos importados: ' + IntToStr(Qt_Eventos)); AddMensagem('Quantidade de requisições necessárias: ' + IntToStr(Qt_Loops)); AddMensagem('Último NSU: ' + ultimoNSU); except On E:Exception do begin sSQL := 'insert into dbo.Comandos_DFe (Ds_Comando) Values (:vDs_Comando)'; with CriarQuery(sSql) do begin Parameters.ParamByName('vDs_Comando').Value := Cmd.Comando; ExecSQL; end; sSQL := 'Update A ' + 'Set ' + ' NFe_NSU = :vNFe_NSU ' + 'From ' + ' dbo.Parametros A ' + 'Where ' + ' A.Cd_Filial = :vCd_Filial'; with CriarQuery(sSql) do begin Parameters.ParamByName('vNFe_NSU').Value := ultimoNSU; Parameters.ParamByName('vCd_Filial').Value := Cd_Filial; ExecSQL; end; AddMensagem('Eventos importados: ' + IntToStr(Qt_Eventos)); AddMensagem('Quantidade de requisições necessárias: ' + IntToStr(Qt_Loops)); AddMensagem('Último NSU: ' + ultimoNSU); raise Exception.Create('Erro ao Consultar Notas Destinadas! ' + #10#13 + e.Message); end; end; end; Percebam que sempre inicio a consulta a partir do último NSU, mesmo quando a ultima consulta der erro. Pois bem, tenho, a princípio, 14 CNPJ's para consultar e, pasmem, não consigo chegar ao "indCont = icNaoPossuiMaisDocumentos;" nem com 10 horas de processamento. Vejam um dos processamentos que tive em uma madrugada destas: Sempre há um erro antes de finalizar, raros casos eu consegui chegar ao final, tenho centenas destas estatísticas para confirmar que alguma coisa está errada, convenhamos que realizar 323 requisições ao WS para pegar 18 eventos é um desperdício. Conto com o apoio da galera!
-
Alteração Do Nome Do Arquivo Salvo Pela Cc-E
Mark Apollo replied to AlexandreADC's tópico in ACBrNFe
-
Galera, estou implementando a Consulta de NFe Destinadas, mas acredito que há algum problema no WebService, porque preciso deixar quase que 24 horas consultando para recepcionar todas as notas. Gostaria de saber se alguém possui algum contato onde eu possa questionar esta demora e também colaborar para a melhoria deste serviço. Acabo de ligar para o 08009782338 e a pessoa que atendeu disse que só é possível consultar pelo site, eles não sabem nada sobre a NT2012_002 e não sabem nem que existe webservices, quando falei do ws me perguntaram se não seria "webdesigner". #TENSO Obs.: tenho a minha saga descrita nos últimos posts da thread
-
Muitas dúvidas que eu tinha referente ao envio de CTe eu tirei olhando o Demo do NFe que, tirando a parte de montagem do XML que tem suas particularidades, é exatamente igual no restante.
-
21/03/2012 - Publicada a NT 2012/002 Manif do Destinatario
Mark Apollo replied to Gr@c@'s tópico in ACBrNFe
Michel, boa tarde, Não teve uma só vez que consegui fazer um loop até o indice dizer que não tem mais notas. O que eu faço é guardar o ultimo nsu, mesmo se der erro, desta forma eu consigo retomar do local onde deu erro.