Ir para conteúdo
  • Cadastre-se

dev botao

sumiu strtoCRT e agora o que substituir?


Ver Solução Respondido por Italo Giurizzato Junior,

Recommended Posts

  • Membros Pro
Postado (editado)

Ola ser estou com nota de cliente parada poeque sumiu strtoCRT e nao compila, meu programa apos ultima atualizacao

preciso saber qual comando substituir..por favor

 

esses aqui eu achei

pcnAdmCSCNFCe deve ser substituída por ACBrNFe.AdmCSC
pcnConsSitNFe deve ser substituída por ACBrNFe.ConsSit
pcnEnvEventoNFe deve ser substituída por ACBrNFe.EnvEvento
pcnEventoNFe deve ser substituída por ACBrNFe.EventoClass
pcnInutNFe deve ser substitúida por ACBrNFe.Inut
pcnRetAdmCSCNFCe deve ser substituída por ACBrNFe.RetAdmCSC
pcnRetConsSitNFe deve ser substituída por ACBrNFe.RetConsSit
pcnRetEnvEventoNFe deve ser substituída por ACBrNFe.RetEnvEvento
pcnRetInutNFe deve ser substituída por ACBrNFe.RetInut

mas o strtoCRT nao achei...

e preciso fazer uma alteracao urgente de difal para caminhao seguir viagem para outro estado, e o difal está errado, ja achei o erro do calculo, mas a nota nao compila pois nao encontra strtoCRT 

Editado por geanjesus
  • Membros Pro
Postado (editado)

Jesus, mais erros

   if InutNFe.GerarXML then  type de expression must be Boolean (aqui nao é mais boolean?)
 

        RegistrarArquivosInut(InutNFe.ID,
          InutNFe.Gerador.ArquivoFormatoXML, OK);undeclared identifier 'gerador' (aqui nao existe mais o gerador?)
 

 

procedure TGereNFe.RegistrarPreInut(const Inutilizacao: TNFeInutilizacao);
var
  InutNFe: TinutNFe;
  OK: Boolean;
  I: Integer;
begin
  OK := False;
  InutNFe := TinutNFe.Create;
  try
    InutNFe.tpAmb := dtmDFe.NFe.Configuracoes.WebServices.Ambiente;
    InutNFe.cUF := dtmDFe.NFe.Configuracoes.WebServices.UFCodigo;
    InutNFe.Ano := Inutilizacao.Ano;
    InutNFe.CNPJ := Inutilizacao.CNPJ;
    InutNFe.Modelo := Inutilizacao.Modelo;
    InutNFe.Serie := Inutilizacao.Serie;
    InutNFe.nNFIni := Inutilizacao.NumeroInicial;
    InutNFe.nNFFin := Inutilizacao.NumeroFinal;
    InutNFe.xJust := Inutilizacao.Justificativa;
    InutNFe.Versao := '3.10';

    if InutNFe.GerarXML then
    begin
      for I := InutNFe.nNFIni to InutNFe.nNFFin do
      begin
        if not dtmDFe.TbGereNFe.locate('Filial;NumLcto',
          VarArrayOf([Ffilial, I]), [loCaseInsensitive]) then
        begin
          if LocalizaFilial(Ffilial) then
          begin
            dtmDFe.TbGereNFe.Insert;
            dtmDFe.TbGereNFeFilial.AsString := Ffilial;
            dtmDFe.TbGereNFeTipoLcto.AsString := 'VE';
            dtmDFe.TbGereNFeDtLcto.asDateTime := Now;
            dtmDFe.TbGereNFeEspecie.AsString := dtmTables.TbParams.FieldByName
              ('SaiEspecieNF').AsString;
            dtmDFe.TbGereNFeSerie.AsString := dtmTables.TbParams.FieldByName
              ('SaiSerieNF').AsString;
            dtmDFe.TbGereNFeNumLcto.AsInteger := I;
          end;
        end
        else
        begin
          case dtmDFe.TbGereNFeMsg.AsInteger of
            100, 101, 102, 110, 128, 135, 151, 155, 2000, 3000, 6000, 7000:
              begin
                ShowWarning('Não foi possível Inutilizar a numeração!',
                  'Motivo: Registro já esta sendo usado por uma NF-e válida.');
                Exit;
              end;
          else
            dtmDFe.TbGereNFe.Edit;
          end;
        end;

        dtmDFe.TbGereNFeENTRSAI.AsString := '-';
        dtmDFe.TbGereNFeRazao.AsString := 'Inutilização Pendente';
        dtmDFe.TbGereNFeStatus.AsString := 'I';
        dtmDFe.TbGereNFeMsg.AsInteger := 1;
        dtmDFe.TbGereNFeDtEnvio.asDateTime := Now;
        dtmDFe.TbGereNFeDescStatus.AsString := 'Inutilização Pendente';
        dtmDFe.TbGereNFe.Post;

        RegistrarArquivosInut(InutNFe.ID,
          InutNFe.Gerador.ArquivoFormatoXML, OK);
        if OK then
          Inutilizar(dtmDFe.TbGereNFeXML.AsString);
      end;
    end;
  finally
    InutNFe.free;
  end;
end;
 

Editado por geanjesus
mostrar a rotina completa
  • Consultores
  • Solution
Postado

Boa tarde @geanjesus,

Meu Deus, faz quanto tempo que você não atualiza o ACBr?

O GerarXml da Inutilização continua sendo uma função só que agora em vez de retornar o valor True ou False, ela retorna o XML que ela gerou para realizar a inutilização.

No seu código você pode mudar para:

aXML := InutNFe.GerarXML;
if aXML <> '' then
  RegistrarArquivosInut(InutNFe.ID, aXML, OK);

 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

ja deu certo italo e juliomar, muito obrigado, se quiserem pode fechar o topico...

vou deixar a dica para o erro da base dupla de calculo do difal que eu demorei para endenter....e um dos motivos que atualizei o ACBR... para quem tiver problema com isso...

na base de calculo dupla tem duas ...1a...bcicmsproduto nao entra frete nem ipi.....mas  na 2a..bcicmsprod ..entra frete e ipi se houver....

demorei para entender isso, nas pesquisas que fiz nao estava claro isso, só descobri através dos erros e refazendo os calculos...

meu calculo ...só dava certo quando nao tinha nem frete nem ipi...com a base dupla... mas enfim resolvido o calculo... 

  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...