Ir para conteúdo
  • Cadastre-se

Italo Giurizzato Junior

Consultores
  • Total de ítens

    38.025
  • Registro em

  • Última visita

  • Days Won

    1.076

Tudo que Italo Giurizzato Junior postou

  1. Boa tarde José, Atualize todos os fontes de todos os componentes e exemplos. Inclui no programa exemplo a cidade de Juiz de Fora. Ao configurar para a cidade de Juiz de Fora e Belo Horizonte favor utilizar a pasta de schemas chamada: BHISS (essa pasta é nova). Realize os testes novamente.
  2. Bom dia ALA, O envio da NFe continua o mesmo o que muda é o cancelamento que passa agora para evento.
  3. Bom dia Jocimar, Como o proprio nome diz: "Manifestação do Destinatário" se refere ao destinatário da mercadoria e não o Emitinte da NFe. Vamos a um exemplo: Você é o fornecedor ou seja o emitente da NFe e eu sou o cliente ou seja o destinatário. Você emite a NFe referente a uma mercadoria que eu comprei. Recebo por e-mail o XML assinado e protocolado e o DANFE em PDF (procedimento este que todos os emitente devem realizar). Na meu controle de estoque, tenho um form que me permite consultar as NFe que foram emitidas (consultar NFe destinadas), ou seja as minhas compras. De posse dessa lista de NFe vou me manifestar sobre cada uma delas, informando a SEFAZ se eu tenho ciência da operação ou não, se recebi o material ou não. Tipos de Manifestação: ----------------------------- Ciência da Operação => é quando eu afirmo que comprei, ou seja existe uma relação comercial entre o emitente (você) e o destinatário (eu). Desconhecimento da Operação => é quando eu nego que comprei. Confirmação da Operação => é quando eu afirmo que comprei e recebi o material. Operação não Realizada => é quando eu afirmo que comprei e não recebi o material. Você como emitente da NFe ou seja fornecedor, tem também os seus fornecedores, ou seja você também compra, logo no seu controle de estoque tem que ter um form para realizar a consulta das NFe destinadas a você e posteriormente se manifestar sobre elas. Lembre-se que a Manifestação do Destinatário tem varias serventias: 1. A SEFAZ fica sabendo que o ciclo fechou ou seja eu comprei o material de você e recebi (por exemplo); 2. O você descobre se alguem está emitindo NFe sem você ter comprado nada dele; 3. A Manifestação do Destinatário é nada mai do que o canhoto eletrônico confirmando que você recebeu o material; 4. Uma NFe que tenha sido manifestada (Operação realizada ou Ciência da Operação) esta liberada para ser baixada através do webservice: Download, caso seja necessário. Atenção não confundir a Manifestação do Destinatário com o Manifesto Eletrônico de Documentos Fiscais - MDF-e, isso já é outro assunto. O MDF-e já esta em funcionamento e algumas empresas vão ser obrigadas a emiti-lo no primeiro semestre de 2013. Espero ter ajudado.
  4. John, Agora retornou um XML contendo a seguinte mensagem de erro: Server was unable to process request ou sejá: Servidor não pôde processar a solicitação. Alguma coisa ainda deve estar fora do lugar. Vamos retomar depois do almoço.
  5. John, Faz um favor, altere no fonte ACBrNFeWebServices as seguintes linhas: if FConfiguracoes.Geral.Salvar then begin FPathArqResp := FormatDateTime('yyyymmddhhnnss',Now)+'-down-nfe.xml'; FConfiguracoes.Geral.Save(FPathArqResp, FRetWS); end; para: if FConfiguracoes.Geral.Salvar then begin FPathArqResp := FormatDateTime('yyyymmddhhnnss',Now)+'-down-nfe.xml'; FConfiguracoes.Geral.Save(FPathArqResp, FRetornoWS); end; realize o teste novamente e poste como anexo o arquivo: <datahora>-down-nfe.xml
  6. Bom dia a todos, Alterei as URLs que apontavam para o sefazvirtual, agora estão apontando para o ambiente nacional. Favor atualizar os fontes e testar por favor.
  7. Bom dia Vinicius, Até onde sei, não, mas vou pesquisar sobre o assunto.
  8. Boa tarde Herik, Ao realizar a consulta de uma NFe, é tornado todos os eventos vinculados a NFe caso ela tenha. Se o evento não for de cancelamento a linha: procEventoNFe.Items.RetEventoNFe.InfEvento.detEvento.xJust; vai retornar vazio.
  9. Bom dia Rodrigo, Se o problema ocorre de vez em quando, conclui-se que o problema esta no provedor e não no componente. Entre em contato com o provedor e expõe o problema.
  10. Bom dia Juliomar, O fonte em questão é o DoACBrNFeUnit ele foi alterado pela última vez pelo André e disponibilizado no dia 23/11/2012, e hoje é 14/12/2012. A alteração feita pelo André foi exatamente para resolver o problema em questão. É aquela velha história, se eu utilizo somente a NFe vou atualizar somente a pasta do componente ACBrNFe, em vez de atualizar tudo, ou seja os fontes dos exemplos, dos componentes, dos pacotes, dos projetos. Ai começa dar esses erros e o pessoal ficam desesperados.
  11. Você não me respondeu em qual unit estava o fragmento de código para que possamos corrigila e identificar outros problemas e disponibilizar para os demais usuários.
  12. Esse fragmento de código é da sua aplicação ou no programa exemplo? if NotaUtil.NaoEstaVazio(Cmd.Params(1)) then ACBrNFe1.DANFE.Impressora := Cmd.Params(1) else ACBrNFe1.DANFE.Impressora := cbxImpressora.Text; Na verdade tanto faz, para corrigir o problema, faça o seguinte: 1. em Uses adicione a unit ACBrDFeUtil; 2. altere o fragmento acima: if DFeUtil.NaoEstaVazio(Cmd.Params(1)) then ACBrNFe1.DANFE.Impressora := Cmd.Params(1) else ACBrNFe1.DANFE.Impressora := cbxImpressora.Text; Isso vai resolver o problema.
  13. Bom dia dcpleal, O que você fez esta errado, as funções que estão comentadas no ACBrNFeUtil agora estão definidas no ACBrDFeUtil. Foi criado a unit ACBrDFeUtil dentro da pasta ACBrComum, pois tinhamos dezenas de funções repetidas nas units ACBrNFeUtil, ACBrCTeUtil, ACBrNFSeUtil e ACBrMDFeUtil. Futuramente as funções que estão comentadas na unit ACBrNFeUtil vão ser excluidas, e ao atualizar os fontes a sua aplicação vai começar a dar erro novamente. A minha sugestão é deixar a unit ACBrNFeUtil como ela se encontra disponivel no SVN e corrigir a sua aplicação para não ter problemas futuros.
  14. Bom dia Michel, Estude esse fragmento de código da minha aplicação, que realiza a consulta de NFe destinadas. procedure TfrmMovManifestacao.btnLocalizarClick(Sender: TObject); var CNPJ, Impresso, sChave, sEmissao, sCNPJ, sNome, sNumero, sSerie, sIEst, sNSU, sTipoNFe: String; Valor: Double; i, j: integer; begin // ======== Dados da Empresa (Destinatario) ============================================= DM_CTA.Empresa.Close; DM_CTA.Empresa.SQL.Clear; DM_CTA.Empresa.SQL.Add('Select * From Sis_Empresa'); DM_CTA.Empresa.SQL.Add('Where Codigo = :xCodigo'); DM_CTA.Empresa.Params[0].AsString:=DM_VEN.ParametrosEmitente.AsString; DM_CTA.Empresa.Active:=True; DM_CTA.Empresa.Open; if copy(DM_CTA.EmpresaCNPJ.AsString,10,4) <> '0000' then CNPJ := Copy(DM_CTA.EmpresaCNPJ.AsString, 2, 14) else CNPJ := Copy(DM_CTA.EmpresaCNPJ.AsString, 1, 9) + Copy(DM_CTA.EmpresaCNPJ.AsString, 14, 2); MemoStatus.Lines.Add('------------------------------------------------------'); MemoStatus.Lines.Add(' => Consultando NFe Destinadas'); MemoStatus.Lines.Add('------------------------------------------------------'); // TpcnIndicadorNFe = (inTodas, inSemManifestacaoComCiencia, inSemManifestacaoSemCiencia); // TpcnIndicadorEmissor = (ieTodos, ieRaizCNPJDiferente); DMNFe.NFe.ConsultaNFeDest( CNPJ, inSemManifestacaoSemCiencia, ieTodos, edtUltNSU.Text ); sStat := IntToStr(DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.cStat); sMotivo := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.xMotivo; case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.indCont of icNaoPossuiMaisDocumentos: sTemMais := 'N'; icPossuiMaisDocumentos: sTemMais := 'S'; end; sUltimoNSU := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ultNSU; GravaUltimaConsulta; // TpcnIndicadorContinuacao = (icNaoPossuiMaisDocumentos, icPossuiMaisDocumentos); // TpcnSituacaoNFe = (snAutorizado, snDenegado, snCancelada); // TpcnSituacaoManifDest = (smdSemManifestacao, smdConfirmada, smdDesconhecida, smdOperacaoNaoRealizada, smdCiencia); // TpcnTipoNFe = (tnEntrada, tnSaida); if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.cStat = 138 then begin // Documentos Localizados para o Destinatário if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.indCont = icPossuiMaisDocumentos then begin edtUltNSU.Text := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ultNSU; MemoStatus.Lines.Add(' Documento Localizado para o Destinatário'); MemoStatus.Lines.Add(' Utilizar o número que esta no campo: Último NSU'); MemoStatus.Lines.Add(' Para uma nova pesquisa.'); MemoStatus.Lines.Add(' '); end else begin edtUltNSU.Text := '0'; MemoStatus.Lines.Add(' Documento Localizado para o Destinatário'); MemoStatus.Lines.Add(' '); end; j := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Count -1; lstChave1.Clear; chkListaNotas.Clear; for i := 0 to j do begin sSerie := ''; sNumero := ''; sCNPJ := ''; sNome := ''; sIEst := ''; sNSU := ''; sEmissao := ''; sTipoNFe := ''; Valor := 0.0; Impresso := ' '; if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.chNFe <> '' 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 := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.chNFe; sSerie := Copy(sChave, 23, 3); sNumero := Copy(sChave, 26, 9); sCNPJ := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.CNPJCPF; sNome := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.xNome; sIEst := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.IE; case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.tpNF of tnEntrada: sTipoNFe := 'E'; tnSaida: sTipoNFe := 'S'; end; sNSU := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.NSU; sEmissao := DateToStr(DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.dEmi); Valor := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.vNF; case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.cSitNFe of snAutorizado: Impresso := 'A'; snDenegado: Impresso := 'D'; snCancelada: Impresso := 'C'; end; end; if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.chNFe <> '' 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 := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.chNFe; sSerie := Copy(sChave, 23, 3); sNumero := Copy(sChave, 26, 9); sCNPJ := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.CNPJCPF; sNome := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.xNome; sIEst := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.IE; case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.tpNF of tnEntrada: sTipoNFe := 'E'; tnSaida: sTipoNFe := 'S'; end; sNSU := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.NSU; sEmissao := DateToStr(DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.dEmi); Valor := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.vNF; case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.cSitNFe of snAutorizado: Impresso := 'A'; snDenegado: Impresso := 'D'; snCancelada: Impresso := 'C'; end; end; // Registra no Banco de Dados as Notas Retornadas pela Consulta DM_VEN.Manifestacao.Close; DM_VEN.Manifestacao.SQL.Clear; DM_VEN.Manifestacao.SQL.Add('Select * From Eve_Manifestacao'); DM_VEN.Manifestacao.SQL.Add('Where Empresa = :xEmpresa'); DM_VEN.Manifestacao.SQL.Add('and Chave = :xChave'); DM_VEN.Manifestacao.Params[0].AsString:=DM_CTA.xCodEmpresa; DM_VEN.Manifestacao.Params[1].AsString:=sChave; DM_VEN.Manifestacao.Active:=True; DM_VEN.Manifestacao.Open; if not ((DM_VEN.ManifestacaoEmpresa.AsString = DM_CTA.xCodEmpresa) and (DM_VEN.ManifestacaoChave.AsString = sChave)) then begin DM_VEN.IncAltDel.SQL.Clear; DM_VEN.IncAltDel.SQL.Add('Insert into Eve_Manifestacao'); DM_VEN.IncAltDel.SQL.Add('(Empresa, Chave, CNPJ, Nome, IE, Emissao, Tipo, Valor,'); DM_VEN.IncAltDel.SQL.Add('Situacao, Confirmacao, NSU, DataEvento, Protocolo)'); DM_VEN.IncAltDel.SQL.Add('Values (:xEmpresa, :xChave, :xCNPJ, :xNome, :xIE, :xEmissao, :xTipo,'); DM_VEN.IncAltDel.SQL.Add(':xValor, :xSituacao, :xConfirmacao, :xNSU, :xDataEve, :xProtocolo)'); DM_VEN.IncAltDel.Params[0].AsString:=DM_CTA.xCodEmpresa; DM_VEN.IncAltDel.Params[1].AsString:=sChave; DM_VEN.IncAltDel.Params[2].AsString:=sCNPJ; DM_VEN.IncAltDel.Params[3].AsString:=sNome; DM_VEN.IncAltDel.Params[4].AsString:=sIEst; DM_VEN.IncAltDel.Params[5].AsDateTime:=StrToDate(sEmissao); DM_VEN.IncAltDel.Params[6].AsString:=sTipoNFe; DM_VEN.IncAltDel.Params[7].AsFloat:=Valor; DM_VEN.IncAltDel.Params[8].AsString:=Impresso; DM_VEN.IncAltDel.Params[9].AsInteger:=-1; DM_VEN.IncAltDel.Params[10].AsString:=sNSU; DM_VEN.IncAltDel.Params[11].AsDateTime:=0; DM_VEN.IncAltDel.Params[12].AsString:=''; DM_VEN.IncAltDel.ExecSQL; end; end; // Fim do For end else begin // Nenhum Documento Localizado para o Destinatário if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.cStat = 137 then begin if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.indCont = icPossuiMaisDocumentos then begin edtUltNSU.Text := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ultNSU; MemoStatus.Lines.Add(' Nenhum Documento Localizado para o Destinatário'); MemoStatus.Lines.Add(' Utilizar o número que esta no campo: Último NSU'); MemoStatus.Lines.Add(' Para uma nova pesquisa.'); MemoStatus.Lines.Add(' '); end else begin edtUltNSU.Text := '0'; MemoStatus.Lines.Add(' Nenhum Documento Localizado para o Destinatário'); MemoStatus.Lines.Add(' '); end; end else begin MemoStatus.Lines.Add(' Falha ao realizar a consulta.'); MemoStatus.Lines.Add(' ' + sStat + ' - ' + sMotivo); MemoStatus.Lines.Add(' '); end; end; MontaChkLista; AtivaBotao; end;
  15. Boa tarde Juliana, Atualize os fontes e teste, fazendo o favor.
  16. Boa tarde Astrogildo, Já mandei para o SVN a sua alteração. Muito obrigado pela colaboração.
  17. Boa tarde, Não é por nada não, mas escrever tudo em letra maiuscula soa como grito, por favor quando postar em qualquer fórum, utilize letras em minusculo.
  18. Boa tarde Gustavo, Altere a sua aplicação de tal forma que após o XML ter sido gerado e enviado, impressa que seja gerado novamente o XML para o mesmo conhecimento. Caso ocorra o problema de enviar e não obter o retorno com o protocolo de autorização, crie um botão que permita selecionar o Conhecimento enviado mas não protocolado, feita a escolha carrega-se o XML do mesmo para o componente e realiza-se uma consulta, isso faz com que se o mesmo realmente foi enviado e já foi processando o XML vai receber as tags do protocolo de autorização. A titulo de exemplo, estude os fragmentos de código ( em formato TXT) que estão dentro da pasta ...\Exemplos\ACBrCTe.
  19. Diogo, No caso do XP foi instalado o SP3? Quanto ao Server 2003, pesquise no fórum, me lembro de ter visto alguma coisa sobre o Server, HotFix se não me falha a memória.
  20. Boa tarde brsamn, O que vai acontecer quando você for enviar o lote de NFe de numero 2471? Uma vez que o numero do lote é sequencial.
  21. Boa tarde Rafael, Todos os seus clientes estão enfrentando esse problema? Todos são da UF: ES? Nas configurações avançadas do Internet Explorer esta habilitado as opções de: Verificar revogação de certificados ? Caso afirmativo, desabilita.
  22. Boa tarde a todos, O numero do lote ao meu ver tem que ser sequencial, no meu caso tenho uma tabela onde tenho: o numero do lote, a data de evio, o numero inicial e final das NFe contidas no lote, exemplo: Lote = 1500 Data = 13/12/2012 NumInicial = 2560 NumFinal = 2568 Isso significa que no dia 13/12/2012 foi enviado o lote de numero 1500 contendo as NFe de numero 2560 até 2568.
  23. Erick, Ao gerar o XML ele é submetido a uma validação, utilizando para isso o schema disponibilizado pelo provedor. Logo não podemos mudar a ordem ou até mesmo adicionar algo a mais, pois vai ocorrer rejeição.
  24. Bom dia Herik, Eu utilizo 2 numeros de lote, um para o envio da NFe e outro para Eventos: CCe, Cancelamento, etc.
×
×
  • 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.