Jump to content

dev botao

sumiu strtoCRT e agora o que substituir?


Go to solution Solved by Italo Giurizzato Junior,

Recommended Posts

  • Membros Pro

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 

Edited by geanjesus
Link to comment
Share on other sites

  • Membros Pro

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;
 

Edited by geanjesus
mostrar a rotina completa
Link to comment
Share on other sites

  • Consultores
  • Solution

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

Link to comment
Share on other sites

  • Membros Pro

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

Link to comment
Share on other sites

  • Consultores

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

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.