Ir para conteúdo
  • Cadastre-se

Patrícia Nascimento

Membros
  • Total de ítens

    7
  • Registro em

  • Última visita

Posts postados por Patrícia Nascimento

  1. Tive este problema anteriormente e resolvi assim:

     
          GERAR_NFe.WebServices.StatusServico.Executar;
     
          //Criar o cancelamento
          GERAR_NFe.EventoNFe.Evento.Clear;
          NUMERO_LOTE := StrToInt(FormatDateTime('yymmddhhmm', Now));
          GERAR_NFe.EventoNFe.idLote := NUMERO_LOTE;
          with GERAR_NFe.EventoNFe.Evento.Add do
          begin
             infEvento.chNFe    := qryNFeCHAVE_ACESSO_NFE.Value;
             infEvento.cOrgao   := StrToInt(Copy(qryNFeCHAVE_ACESSO_NFE.Value,1,2));
             infEvento.dhEvento := GERAR_NFe.WebServices.StatusServico.dhRecbto;  //(pegar data e hora do servidor nfe)
             infEvento.tpEvento := teCancelamento;
             infEvento.detEvento.nProt := qryNFePROTOCOLO.AsString;
             infEvento.detEvento.xJust := qryNFeMOTIVO_CANCELAMENTO.AsString;
          end;
  2. Sim, os schemas estão atualizados.

     

    Olhei os fontes do Acbr e descobri uma validação do número da DI:

     

    class function DFeUtil.ValidaDIDSI(AValue: string): Boolean;
    var
     ano: Integer;
    begin
     // AValue = TAANNNNNNND
     // Onde: T Identifica o tipo de documento ( 2 = DI e 4 = DSI )
     //       AA Ano corrente da geração do documento
     //       NNNNNNN Número sequencial dentro do Ano ( 7 dígitos )
     //       D Dígito Verificador, Módulo 11, Pesos de 2 a 9
     AValue := LimpaNumero(AValue);
     ano := StrToInt(Copy(IntToStr(YearOf(Date)), 3, 2));
     if length(AValue) <> 11 then
       Result := False
     else if (copy(Avalue, 1, 1) <> '2') and (copy(Avalue, 1, 1) <> '4') then
            Result := False
          else if not ((StrToInt(copy(Avalue, 2, 2)) >= ano -1) and (StrToInt(copy(Avalue, 2, 2)) <= ano +1)) then
                 Result := False
               else
                 Result := copy(AValue, 11, 1) = Modulo11(AValue);
    end;

     

    O problema esta ai: if length(AValue) <> 11 then

    com a mudança na NT2011/004 o número da DI pode ser de 12 dígitos.

    Dá uma conferida neste código por favor. Vou mudar aqui e ver se funciona.

     

    Obrigada.

    Patrícia

  3. Bom dia.

     

    Estou tentando transmitir esta nota e sempre dá esta mensagem de alerta:

    TAG:<det nItem="1"><prod><DI> ID:I19/nDI(Numero do Documento de Importação DI/DSI/DA) - Conteúdo inválido.

     

    Já atualizei schemas, já atualizei o ACBR e nada de transmitir. Se alguém puder ajudar. No emissor gratuito transmite normal só que fica sem a data de registro e a data de desembaraço da DI.

     

    Agradeço qualquer atenção.

    Patrícia.

    31131238465803000194550010000188661000188665-nfe.xml

×
×
  • 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...