-
Total de ítens
4 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Ivonei Balena
-
-
Eu percebi que o arquivo tem 2 campos blobs.
Todos eles tem e nenhum consigo ler.
Ao converter / importar para firebird eles vem sem valor.
Pode ser que seja isso que impossibilite a leitura pelo firedac. Vou cobrar o cara que me passou eles, se por acaso ele não esqueceu de algum arquivo.
Qualquer evolução no caso relato aqui, muito obrigado!
-
Pois é @Juliomar Marchetti, mas teria alguma outra opção? Ou será que o arquivo não é efetivamente um padarox?
Acabei desistindo, convertendo os arquivos que preciso para firebird e dei prosseguimento no preciso.
Mas o interessante é que se leio via ibexpert ele importa tudo corretamente e gera o fb.
-
Bom dia a todos.
Tive o mesmo problema na leitura do XML.
O problema é que o TIPI.CST tem default ipi00.
property CST: TpcnCstIpi read FCST write FCST default ipi00;
Como a leitura do XML ignora quando não tem a tag IPI (Código abaixo), acaba ficando 00 para todos que não tem ela.
if Leitor.rExtrai(3, 'IPI') <> '' then begin (*O02*)NFe.Det[i].Imposto.IPI.clEnq := Leitor.rCampo(tcStr, 'clEnq'); (*O03*)NFe.Det[i].Imposto.IPI.CNPJProd := Leitor.rCampo(tcStr, 'CNPJProd'); (*O04*)NFe.Det[i].Imposto.IPI.cSelo := Leitor.rCampo(tcStr, 'cSelo'); (*O05*)NFe.Det[i].Imposto.IPI.qSelo := Leitor.rCampo(tcInt, 'qSelo'); (*O06*)NFe.Det[i].Imposto.IPI.cEnq := Leitor.rCampo(tcStr, 'cEnq'); // Inicializa CST com sendo Não tributada e conforme o TIPO entrada ou saida // Caso a Tag não seja informada sera gravada com sendo não tributada if NFe.ide.tpNF = tnEntrada then NFe.Det[i].Imposto.IPI.CST := ipi53; if NFe.ide.tpNF = tnSaida then NFe.Det[i].Imposto.IPI.CST := ipi03; if Leitor.rExtrai(3, 'IPITrib') <> '' then begin (*O09*)NFe.Det[i].Imposto.IPI.CST := StrToCSTIPI(ok, Leitor.rCampo(tcStr, 'CST')); (*O10*)NFe.Det[i].Imposto.IPI.vBC := Leitor.rCampo(tcDe2, 'vBC'); (*O11*)NFe.Det[i].Imposto.IPI.qUnid := Leitor.rCampo(tcDe4, 'qUnid'); (*O12*)NFe.Det[i].Imposto.IPI.vUnid := Leitor.rCampo(tcDe4, 'vUnid'); (*O13*)NFe.Det[i].Imposto.IPI.pIPI := Leitor.rCampo(tcDe2, 'pIPI'); (*O14*)NFe.Det[i].Imposto.IPI.vIPI := Leitor.rCampo(tcDe2, 'vIPI'); end; if Leitor.rExtrai(3, 'IPINT') <> '' then begin (*O09*)NFe.Det[i].Imposto.IPI.CST := StrToCSTIPI(ok, Leitor.rCampo(tcStr, 'CST')); end; end;
Não me parece o mais certo, ainda mais porque ele é "Entrada com recuperação de crédito".
Vejam que ele até seta valores padrões, mas só quando tem a tag IPI. (Errados a meu ver, pois em notas de entrada seta o 53 ("Saída Não-Tributada") e nas notas da saída seta o 03 ("Entrada Não-Tributada"). )
Então eu movi esse bloco para fora do IF setando um valor padrão sempre, independente se tem ou não a tag de IPI, e inverti os CST de entrada e saída.
// Inicializa CST com sendo Não tributada e conforme o TIPO entrada ou saida // Caso a Tag não seja informada sera gravada com sendo não tributada if NFe.ide.tpNF = tnEntrada then NFe.Det[i].Imposto.IPI.CST := ipi03; if NFe.ide.tpNF = tnSaida then NFe.Det[i].Imposto.IPI.CST := ipi53; if Leitor.rExtrai(3, 'IPI') <> '' then begin //Carrega os dados do IPI end;
Pra mim resolveu!
Espero ter ajudado!
GNRE para RJ (Rio de Janeiro)
em Dúvidas Gerais sobre o ACBr
Postado
Olá Juliomar Marchetti!
Tentei preencher como indicado e no retorno não veio o valor do FCP nos campos extras, como mandei no envio.
Alguma outra orientação?
Obrigado!