Membros Pro geanjesus Posted September 23 Membros Pro Share Posted September 23 (edited) 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 September 23 by geanjesus Link to comment Share on other sites More sharing options...
Moderadores Juliomar Marchetti Posted September 23 Moderadores Share Posted September 23 Boa tarde no caso não sumiu ele só foi refatorado e realocado em outra unit Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Link to comment Share on other sites More sharing options...
Membros Pro geanjesus Posted September 23 Author Membros Pro Share Posted September 23 (edited) 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 September 23 by geanjesus mostrar a rotina completa Link to comment Share on other sites More sharing options...
Consultores Solution Italo Giurizzato Junior Posted September 23 Consultores Solution Share Posted September 23 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); Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / Araraquara-SP Araraquara - A era dos Trólebus Link to comment Share on other sites More sharing options...
Membros Pro geanjesus Posted September 24 Author Membros Pro Share Posted September 24 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 More sharing options...
Consultores Alexandre de Paula Posted September 24 Consultores Share Posted September 24 Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. Alexandre de Paula Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Link to comment Share on other sites More sharing options...
Recommended Posts