-
Total de ítens
316 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Dfox postou
-
Boa tarde, iniciando um novo projeto de impressão de nfce, percebi que as novas margens do ACBrNFeDANFCEFR1 dês configura a impressão agora com as margens antiga.
-
tente instalar o certificado com o Instalador VALID isso com migo resolve.
-
Obrigado pelo esclarecimento BigWings eu alterei essa linha com abs para a diferença sempre ficar positiva, Resolvido. vdesc_itemdif := Abs(vdesc_itemtotal - vdesconto_atual);
-
eu alterei essas linha e funciono perfeitamente if vdesc_itemtotal > vdesconto_atual then query.sql.add('desconto = desconto - :vdesc_itemdif, total = total + :vdesc_itemdif'); if vdesc_itemtotal < vdesconto_atual then query.sql.add('desconto = desconto + :vdesc_itemdif, total = total - :vdesc_itemdif');
-
acho que consegui procedure Tfrmnotafiscal.brateioClick(Sender: TObject); var vdesc_item, vdesc_itemtotal, vdesc_itemdif :Real; begin vtotal_produtos := 0; vtotal_nota := 0; if check_desconto.Checked = True then begin qrnotafiscal_item.first; while not qrnotafiscal_item.eof do begin if (frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat + frmnotafiscal_menu.qrnota.fieldbyname('desconto_item').AsFloat) > 0 then begin query.close; query.sql.clear; query.sql.add('update c000062 set'); query.sql.add('desconto = :descontox, total = :totalx'); if qrnotafiscal_item.fieldbyname('codigo').AsString = '' then begin query.sql.add(',codigo = ''' + frmprincipal.Codifica ('000062',10) + ''''); query.sql.add (' where codproduto = :codproduto and codnota = :codnota and total = :total and codlancamento = :codlancamento'); query.params.parambyname('total').AsFloat := qrnotafiscal_item.fieldbyname('total').AsFloat; query.params.parambyname('codproduto').AsString := qrnotafiscal_item.fieldbyname('codproduto').AsString; query.params.parambyname('codnota').AsString := qrnotafiscal_item.fieldbyname('codnota').AsString; query.params.parambyname('codlancamento').AsString := qrnotafiscal_item.fieldbyname('codlancamento').AsString; end else begin query.sql.add(' where codigo = ''' + qrnotafiscal_item.fieldbyname ('codigo').AsString + ''''); end; if frmnotafiscal_menu.qrnotaDESCONTO.AsFloat > 0 then vdesc_item := frmnotafiscal_menu.qrnotaDESCONTO.AsFloat else vdesc_item := frmnotafiscal_menu.qrnotaDESCONTO_ITEM.AsFloat; if frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat > 0 then query.params.parambyname('descontox').AsFloat := RoundTo(qrnotafiscal_item.fieldbyname('subtotal').AsFloat * vdesc_item / frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat,-2) else query.params.parambyname('descontox').AsFloat := 0; query.params.parambyname('totalx').AsFloat := (qrnotafiscal_item.fieldbyname('unitario').AsFloat * qrnotafiscal_item.fieldbyname('qtde').AsFloat) - query.params.parambyname('descontox').AsFloat; query.ExecSQL; vdesconto_atual := vdesconto_atual + (qrnotafiscal_item.fieldbyname('subtotal').AsFloat * vdesc_item / frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat); vdesc_itemtotal := vdesc_itemtotal + RoundTo((qrnotafiscal_item.fieldbyname('subtotal').AsFloat * vdesc_item / frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat), -2); end else begin vdesconto_atual := vdesconto_atual + qrnotafiscal_item.fieldbyname ('desconto').AsFloat; end; vtotal_produtos := vtotal_produtos + qrnotafiscal_item.fieldbyname ('subtotal').AsFloat; vtotal_nota := vtotal_nota + qrnotafiscal_item.fieldbyname ('total').AsFloat; qrnotafiscal_item.Next; Application.ProcessMessages; end; if check_desconto.Checked = True then begin frmnotafiscal_menu.qrnota.fieldbyname('desconto_item').AsFloat := vdesconto_atual; frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat := 0; end else begin frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat := vdesconto_atual; frmnotafiscal_menu.qrnota.fieldbyname('desconto_item').AsFloat := 0; end; frmnotafiscal_menu.qrnota.fieldbyname('valor_produtos').AsFloat := vtotal_produtos; frmnotafiscal_menu.qrnota.fieldbyname('total_nota').AsFloat := vtotal_nota; {verifico a diferença de desconto} vdesc_itemdif := vdesc_itemtotal - vdesconto_atual; if vdesc_itemdif <> 0 then begin query.close; query.sql.clear; query.sql.add('update c000062 set'); if vdesc_itemtotal > vdesconto_atual then query.sql.add('desconto = desconto - :vdesc_itemdif, total = total - :vdesc_itemdif'); if vdesc_itemtotal < vdesconto_atual then query.sql.add('desconto = desconto + :vdesc_itemdif, total = total + :vdesc_itemdif'); query.sql.add('where total = (select Max(total) from c000062 where codnota = :codnota) and codnota = :codnota rows 1'); query.params.parambyname('vdesc_itemdif').AsFloat := vdesc_itemdif; query.params.parambyname('codnota').AsString := frmnotafiscal_menu.qrnota.fieldbyname('codigo').AsString; query.ExecSQL; end; frmmodulo.Conexao.Commit; qrnotafiscal_item.Close; qrnotafiscal_item.sql.Clear; qrnotafiscal_item.sql.add('select item.*, pro.produto, pro.unidade'); qrnotafiscal_item.sql.add('from c000062 item, c000025 pro'); qrnotafiscal_item.sql.add('where item.codproduto = pro.codigo and'); qrnotafiscal_item.sql.add('item.codnota = ''' + frmnotafiscal_menu.qrnota.fieldbyname('codigo').AsString + ''' order by item'); qrnotafiscal_item.Open; end else begin { vdesconto_atual := 0; qrnotafiscal_item.First; while not qrnotafiscal_item.eof do begin vdesconto_atual := vdesconto_atual + qrnotafiscal_item.fieldbyname ('desconto').AsFloat; qrnotafiscal_item.Next; end; Application.ProcessMessages; if vdesconto_atual > 0 then frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat := vdesconto_atual else } begin qrnotafiscal_item.First; while not qrnotafiscal_item.eof do begin query.close; query.sql.clear; query.sql.add('update c000062 set'); query.sql.add('desconto = :descontox, total = :totalx'); if qrnotafiscal_item.fieldbyname('codigo').AsString = '' then begin query.sql.add(',codigo = ''' + frmprincipal.Codifica ('000062',10) + ''''); query.sql.add (' where codproduto = :codproduto and codnota = :codnota and total = :total and codlancamento = :codlancamento'); query.params.parambyname('total').AsFloat := qrnotafiscal_item.fieldbyname('total').AsFloat; query.params.parambyname('codproduto').AsString := qrnotafiscal_item.fieldbyname('codproduto').AsString; query.params.parambyname('codnota').AsString := qrnotafiscal_item.fieldbyname('codnota').AsString; query.params.parambyname('codlancamento').AsString := qrnotafiscal_item.fieldbyname('codlancamento').AsString; end else begin query.sql.add(' where codigo = ''' + qrnotafiscal_item.fieldbyname ('codigo').AsString + ''''); end; if frmnotafiscal_menu.qrnotaDESCONTO.AsFloat > 0 then vdesc_item := frmnotafiscal_menu.qrnotaDESCONTO.AsFloat else vdesc_item := frmnotafiscal_menu.qrnotaDESCONTO_ITEM.AsFloat; if frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat > 0 then query.params.parambyname('descontox').AsFloat := RoundTo(qrnotafiscal_item.fieldbyname('subtotal').AsFloat * vdesc_item / frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat, -2) else query.params.parambyname('descontox').AsFloat := 0; query.params.parambyname('totalx').AsFloat := (qrnotafiscal_item.fieldbyname('unitario').AsFloat * qrnotafiscal_item.fieldbyname('qtde').AsFloat) - query.params.parambyname('descontox').AsFloat; query.ExecSQL; vdesconto_atual := vdesconto_atual + (qrnotafiscal_item.fieldbyname('subtotal').AsFloat * vdesc_item / frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat); vdesc_itemtotal := vdesc_itemtotal + RoundTo((qrnotafiscal_item.fieldbyname('subtotal').AsFloat * vdesc_item / frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat), -2); vtotal_produtos := vtotal_produtos + qrnotafiscal_item.fieldbyname ('subtotal').AsFloat; vtotal_nota := vtotal_nota + qrnotafiscal_item.fieldbyname ('total').AsFloat; qrnotafiscal_item.Next; Application.ProcessMessages; end; end; if check_desconto.Checked = True then begin frmnotafiscal_menu.qrnota.fieldbyname('desconto_item').AsFloat := vdesconto_atual; frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat := 0; end else begin frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat := vdesconto_atual; frmnotafiscal_menu.qrnota.fieldbyname('desconto_item').AsFloat := 0; end; frmnotafiscal_menu.qrnota.fieldbyname('valor_produtos').AsFloat := vtotal_produtos; frmnotafiscal_menu.qrnota.fieldbyname('total_nota').AsFloat := vtotal_nota; {verifico a diferença de desconto} vdesc_itemdif := vdesc_itemtotal - vdesconto_atual; if vdesc_itemdif <> 0 then begin query.close; query.sql.clear; query.sql.add('update c000062 set'); if vdesc_itemtotal > vdesconto_atual then query.sql.add('desconto = desconto - :vdesc_itemdif, total = total - :vdesc_itemdif'); if vdesc_itemtotal < vdesconto_atual then query.sql.add('desconto = desconto + :vdesc_itemdif, total = total + :vdesc_itemdif'); query.sql.add('where total = (select Max(total) from c000062 where codnota = :codnota) and codnota = :codnota rows 1'); query.params.parambyname('vdesc_itemdif').AsFloat := vdesc_itemdif; query.params.parambyname('codnota').AsString := frmnotafiscal_menu.qrnota.fieldbyname('codigo').AsString; query.ExecSQL; end; frmmodulo.Conexao.Commit; qrnotafiscal_item.close; qrnotafiscal_item.sql.clear; qrnotafiscal_item.sql.add('select item.*, pro.produto, pro.unidade'); qrnotafiscal_item.sql.add('from c000062 item, c000025 pro'); qrnotafiscal_item.sql.add('where item.codproduto = pro.codigo and'); qrnotafiscal_item.sql.add('item.codnota = ''' + frmnotafiscal_menu.qrnota.fieldbyname('codigo').AsString + ''' order by item'); qrnotafiscal_item.Open; end; end; estou testando aqui
-
Boa tarde BigWings esta informação não ajudou muito, estou tentando adaptar esse código de rateio mas ta dificil. procedure Tfrmnotafiscal.brateioClick(Sender: TObject); var vdesc_item: Real; begin vtotal_produtos := 0; vtotal_nota := 0; if check_desconto.Checked = True then begin qrnotafiscal_item.first; while not qrnotafiscal_item.eof do begin if (frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat + frmnotafiscal_menu.qrnota.fieldbyname('desconto_item').AsFloat) > 0 then begin query.close; query.sql.clear; query.sql.add('update c000062 set'); query.sql.add('desconto = :descontox, total = :totalx'); if qrnotafiscal_item.fieldbyname('codigo').AsString = '' then begin query.sql.add(',codigo = ''' + frmprincipal.Codifica ('000062',10) + ''''); query.sql.add (' where codproduto = :codproduto and codnota = :codnota and total = :total and codlancamento = :codlancamento'); query.params.parambyname('total').AsFloat := qrnotafiscal_item.fieldbyname('total').AsFloat; query.params.parambyname('codproduto').AsString := qrnotafiscal_item.fieldbyname('codproduto').AsString; query.params.parambyname('codnota').AsString := qrnotafiscal_item.fieldbyname('codnota').AsString; query.params.parambyname('codlancamento').AsString := qrnotafiscal_item.fieldbyname('codlancamento').AsString; end else begin query.sql.add(' where codigo = ''' + qrnotafiscal_item.fieldbyname ('codigo').AsString + ''''); end; if frmnotafiscal_menu.qrnotaDESCONTO.AsFloat > 0 then vdesc_item := frmnotafiscal_menu.qrnotaDESCONTO.AsFloat else vdesc_item := frmnotafiscal_menu.qrnotaDESCONTO_ITEM.AsFloat; if frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat > 0 then query.params.parambyname('descontox').AsFloat := RoundTo(qrnotafiscal_item.fieldbyname('subtotal').AsFloat * vdesc_item / frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat,-2) else query.params.parambyname('descontox').AsFloat := 0; query.params.parambyname('totalx').AsFloat := (qrnotafiscal_item.fieldbyname('unitario').AsFloat * qrnotafiscal_item.fieldbyname('qtde').AsFloat) - query.params.parambyname('descontox').AsFloat; query.ExecSQL; vdesconto_atual := vdesconto_atual + RoundTo((qrnotafiscal_item.fieldbyname('subtotal').AsFloat * vdesc_item / frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat), -2); end else begin vdesconto_atual := vdesconto_atual + qrnotafiscal_item.fieldbyname ('desconto').AsFloat; end; vtotal_produtos := vtotal_produtos + qrnotafiscal_item.fieldbyname ('subtotal').AsFloat; vtotal_nota := vtotal_nota + qrnotafiscal_item.fieldbyname ('total').AsFloat; qrnotafiscal_item.Next; Application.ProcessMessages; end; frmnotafiscal_menu.qrnota.fieldbyname('valor_produtos').AsFloat := vtotal_produtos; frmnotafiscal_menu.qrnota.fieldbyname('total_nota').AsFloat := vtotal_nota; if check_desconto.Checked = True then begin frmnotafiscal_menu.qrnota.fieldbyname('desconto_item').AsFloat := vdesconto_atual; frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat := 0; end else begin frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat := vdesconto_atual; frmnotafiscal_menu.qrnota.fieldbyname('desconto_item').AsFloat := 0; end; frmmodulo.Conexao.Commit; qrnotafiscal_item.Close; qrnotafiscal_item.sql.Clear; qrnotafiscal_item.sql.add('select item.*, pro.produto, pro.unidade'); qrnotafiscal_item.sql.add('from c000062 item, c000025 pro'); qrnotafiscal_item.sql.add('where item.codproduto = pro.codigo and'); qrnotafiscal_item.sql.add('item.codnota = ''' + frmnotafiscal_menu.qrnota.fieldbyname('codigo').AsString + ''' order by item'); qrnotafiscal_item.Open; end else begin { vdesconto_atual := 0; qrnotafiscal_item.First; while not qrnotafiscal_item.eof do begin vdesconto_atual := vdesconto_atual + qrnotafiscal_item.fieldbyname ('desconto').AsFloat; qrnotafiscal_item.Next; end; Application.ProcessMessages; if vdesconto_atual > 0 then frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat := vdesconto_atual else } begin qrnotafiscal_item.First; while not qrnotafiscal_item.eof do begin query.close; query.sql.clear; query.sql.add('update c000062 set'); query.sql.add('desconto = :descontox, total = :totalx'); if qrnotafiscal_item.fieldbyname('codigo').AsString = '' then begin query.sql.add(',codigo = ''' + frmprincipal.Codifica ('000062',10) + ''''); query.sql.add (' where codproduto = :codproduto and codnota = :codnota and total = :total and codlancamento = :codlancamento'); query.params.parambyname('total').AsFloat := qrnotafiscal_item.fieldbyname('total').AsFloat; query.params.parambyname('codproduto').AsString := qrnotafiscal_item.fieldbyname('codproduto').AsString; query.params.parambyname('codnota').AsString := qrnotafiscal_item.fieldbyname('codnota').AsString; query.params.parambyname('codlancamento').AsString := qrnotafiscal_item.fieldbyname('codlancamento').AsString; end else begin query.sql.add(' where codigo = ''' + qrnotafiscal_item.fieldbyname ('codigo').AsString + ''''); end; if frmnotafiscal_menu.qrnotaDESCONTO.AsFloat > 0 then vdesc_item := frmnotafiscal_menu.qrnotaDESCONTO.AsFloat else vdesc_item := frmnotafiscal_menu.qrnotaDESCONTO_ITEM.AsFloat; if frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat > 0 then query.params.parambyname('descontox').AsFloat := RoundTo(qrnotafiscal_item.fieldbyname('subtotal').AsFloat * vdesc_item / frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat, -2) else query.params.parambyname('descontox').AsFloat := 0; query.params.parambyname('totalx').AsFloat := (qrnotafiscal_item.fieldbyname('unitario').AsFloat * qrnotafiscal_item.fieldbyname('qtde').AsFloat) - query.params.parambyname('descontox').AsFloat; query.ExecSQL; vdesconto_atual := vdesconto_atual + RoundTo((qrnotafiscal_item.fieldbyname('subtotal').AsFloat * vdesc_item / frmnotafiscal_menu.qrnotaVALOR_PRODUTOS.AsFloat), -2); vtotal_produtos := vtotal_produtos + qrnotafiscal_item.fieldbyname ('subtotal').AsFloat; vtotal_nota := vtotal_nota + qrnotafiscal_item.fieldbyname ('total').AsFloat; qrnotafiscal_item.Next; Application.ProcessMessages; end; end; frmnotafiscal_menu.qrnota.fieldbyname('valor_produtos').AsFloat := vtotal_produtos; frmnotafiscal_menu.qrnota.fieldbyname('total_nota').AsFloat := vtotal_nota; if check_desconto.Checked = True then begin frmnotafiscal_menu.qrnota.fieldbyname('desconto_item').AsFloat := vdesconto_atual; frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat := 0; end else begin frmnotafiscal_menu.qrnota.fieldbyname('desconto').AsFloat := vdesconto_atual; frmnotafiscal_menu.qrnota.fieldbyname('desconto_item').AsFloat := 0; end; frmmodulo.Conexao.Commit; qrnotafiscal_item.close; qrnotafiscal_item.sql.clear; qrnotafiscal_item.sql.add('select item.*, pro.produto, pro.unidade'); qrnotafiscal_item.sql.add('from c000062 item, c000025 pro'); qrnotafiscal_item.sql.add('where item.codproduto = pro.codigo and'); qrnotafiscal_item.sql.add('item.codnota = ''' + frmnotafiscal_menu.qrnota.fieldbyname('codigo').AsString + ''' order by item'); qrnotafiscal_item.Open; end; end;
-
Entendi você tem um exemplo de como pegar esse resíduo?
-
Boa tarde sobre os desconto de eu faço um rateio nos itens, ate tudo bem mais em nota de 511,51 com desconto de 3,76 total da nota de 507,75 com 8 itens, está me dando erro 537 por causa do arredondamento da sefaz como vocês faz para isso não acontecer pega a diferença algo do tipo?
-
frxZEOSComponents para Delphi Rio
Dfox replied to marcocunhasilva's tópico in Object Pascal - Delphi & Lazarus
Boa tarde eu tenho ele para Delphi ex2 se querer eu posto aqui. -
Juliomar tudo bem não entendi quando a nfe for Ide.indPres := pcPresencial; o que devo informar na tag Ide.indIntermed := ?
-
boa tarde estou informando na nfe assim Ide.indPres := pcPresencial; // Valores aceitos: // iiSemOperacao, iiOperacaoSemIntermediador, iiOperacaoComIntermediador Ide.indIntermed := iiSemOperacao; e esta me dando o erro 434 esta certo?
-
Acredito que a nota está sendo emitida e não recebendo o retorno, dai quando eu consulto ela muda a chave mantendo o mesmo número da nota.
-
Boa tarde O que pode estar causando a rejeição Rejeição: Duplicidade de NF-e, com diferença na Chave de Acesso Se a chave retornada não consta na se faz.
-
Parcelar venda, arredondar parcelas.
Dfox replied to Dfox's tópico in Object Pascal - Delphi & Lazarus
Resolvido fiz algo similar a isso. uses math; procedure TForm1.Button1Click(Sender: TObject); var val, parc, primeiraparcela : real; begin val := 5; parc := trunc((val / 3) * 100) / 100; // garanto duas casas decimais primeiraparcela := val - (parc * (3 - 1)); edit1.text := formatfloat(',0.00',primeiraparcela); edit2.text := formatfloat(',0.00',parc); edit3.text := formatfloat(',0.00',parc); end; -
Parcelar venda, arredondar parcelas.
um tópico no fórum postou Dfox Object Pascal - Delphi & Lazarus
Boa noite Pessoal, quando estou gerando as parcelas de uma determinada venda estou tendo problema com os centavos. Por exemplo: Eu fiz uma venda de 50,00 e pedi pra dividir em 3 vezes ... ela gera 3 parcelas de 16,67 que dá 50,01. Dai o valor total da venda não bate com o valor total das parcelas. Alguém usa alguma rotina para arredondar o valor das parcelas? -
Resolvido é só repetir a tag.
-
boa tarde como informar a tag tPag quando tem tem mais mais de um tipo de pagamento? {tPag := fpDinheiro; tPag := fpCheque; tPag := fpCartaoCredito; tPag := fpCartaoDebito; tPag := fpCreditoLoja; tPag := fpValeAlimentacao; tPag := fpValeRefeicao; tPag := fpValePresente; tPag := fpValeCombustivel; tPag := fpDuplicataMercantil; tPag := fpBoletoBancario; tPag := fpDepositoBancario; tPag := fpPagamentoInstantaneo; tPag := fpTransfBancario; tPag := fpProgramaFidelidade; tPag := fpSemPagamento; tPag := fpOutro;}
-
Antônio vai ser isso mesmo Teclado.Tecla := 0; // Código da Tecla mudei aqui deu certo
-
Bom dia após atualizar o acbr deu erro na propriedade Tecla ACBrCargaBal1.Produtos.New.Tecla como devo proceder meu código redtProdlog.Text := ''; frmmodulo.qrproduto.Close; frmmodulo.qrproduto.SQL.Clear; frmmodulo.qrproduto.SQL.Add('select * from c000025 where situacao = 0 and USA_BALANCA = 1 order by codigo'); frmmodulo.qrproduto.open; frmmodulo.qrreceita.Close; frmmodulo.qrreceita.SQL.Clear; frmmodulo.qrreceita.SQL.Add('select * from c000024 order by codigo'); frmmodulo.qrreceita.Open; try // definição do modelo do arquivo, utilizado para padronizar o layout // conforme a balança para a qual se vai gerar o arquivo ACBrCargaBal1.Modelo := TACBrCargaBalModelo(cbxModelo.ItemIndex); // adição dos itens que serão gerados no arquivo ACBrCargaBal1.Produtos.Clear; frmmodulo.qrproduto.First; while not frmModulo.qrproduto.Eof do begin redtProdlog.Lines.Add(frmmodulo.qrproduto.fieldbyname('produto').AsString); with ACBrCargaBal1.Produtos.New do begin ModeloEtiqueta := 1; Tipo := tpvPeso; Codigo := StrToInt(frmmodulo.qrproduto.fieldbyname('codigo').AsString);//I; Descricao := frmmodulo.qrproduto.fieldbyname('produto').AsString;//Format('Descricao item %d', [I]); if frmmodulo.qrproduto.FieldByName('PRECO_PROMOCAO').AsFloat <> 0 then begin if (Date >= frmmodulo.qrproduto.FieldByName('DATA_PROMOCAO').AsDateTime) and (Date <= frmmodulo.qrproduto.FieldByName('FIM_PROMOCAO').AsDateTime) then begin ValorVenda := frmmodulo.qrproduto.fieldbyname('preco_promocao').AsFloat; end else ValorVenda := frmmodulo.qrproduto.fieldbyname('precovenda').AsFloat; end else ValorVenda := frmmodulo.qrproduto.fieldbyname('precovenda').AsFloat;//1.23; Validade := StrToIntDef(frmModulo.qrproduto.fieldbyname('validade').AsString,0);//15; Tecla := 0; InformacaoExtra.Receita := IfThen(frmmodulo.qrreceita.Locate('codigo', frmmodulo.qrproduto.fieldbyname('codreceita').AsString,[]), frmmodulo.qrreceita.fieldbyname('receita').AsString,'');//Format('Receita do item %d', [I]); //Nutricional := Format('Informação Nutricional do item %d', [I]);; frmmodulo.qrinfnutricional_produto.Close; frmmodulo.qrinfnutricional_produto.SQL.Clear; frmmodulo.qrinfnutricional_produto.SQL.Add('select * from c000028 where codproduto = ''' + frmmodulo.qrproduto.fieldbyname('codigo').AsString + ''''); frmmodulo.qrinfnutricional_produto.Open; if frmmodulo.qrinfnutricional_produto.RecordCount > 0 then begin Nutricional.Codigo:= StrToInt(frmModulo.qrinfnutricional_produto.fieldbyname('codigo').AsString);//I; Nutricional.Qtd :=1; Nutricional.UndPorcao := tpGramas; Nutricional.PartInteira :=1; Nutricional.PartDecimal:= tpPara12; Nutricional.MedCaseira := tpColherSopa; Nutricional.ValorEnergetico := frmModulo.qrinfnutricional_produto.fieldbyname('valor_calorico').AsInteger;//20; Nutricional.Carboidrato := frmModulo.qrinfnutricional_produto.fieldbyname('carboidratos').AsFloat;//2; Nutricional.Proteina := frmModulo.qrinfnutricional_produto.fieldbyname('proteinas').AsFloat;//3; Nutricional.GorduraTotal:= frmModulo.qrinfnutricional_produto.fieldbyname('gordurastotais').AsFloat;//4; Nutricional.GorduraSaturada:= frmModulo.qrinfnutricional_produto.fieldbyname('gordurassaturadas').AsFloat;//5; Nutricional.GorduraTrans := frmModulo.qrinfnutricional_produto.fieldbyname('colesterol').AsFloat;//6; Nutricional.Fibra := frmModulo.qrinfnutricional_produto.fieldbyname('fibra').AsFloat;//7; Nutricional.Sodio := frmModulo.qrinfnutricional_produto.fieldbyname('sodio').AsFloat;//8; end; Setor.Codigo := 1; {StrToInt(frmModulo.qrproduto.fieldbyname('codigo').AsString);} Setor.Descricao := 'GERAL'; end; frmModulo.qrproduto.Next; end; // gerar os arquivos para o diretório, informe somente o caminho do diretório ACBrCargaBal1.GerarArquivos(frmmodulo.qrconfig.FieldByName('BALANCA_CAMINHO').AsString); MessageDlg('Arquivo gerado com sucesso!', mtInformation,[mbOk], 0); if Application.MessageBox('Deseja iniciar o software da balança?', 'Aviso', mb_yesno + mb_iconquestion) = idyes then begin frmmodulo.qrconfig.Open; frmPrincipal.Exec_File(frmmodulo.qrconfig.fieldbyname('balanca_programa').AsString); //\Filizola\TSC\TSC.exe end; frmPrincipal.logUC('Exportou Produtos Balanca', 0); except on E: Exception do begin // todo erro do componente levanta uma excessão MessageDlg('Ocorreu o seguinte erro:' + sLineBreak + E.Message, mtError,[mbOk],0); end; end; Undeclared identifier: 'Tecla'
-
Deixar o exe gerado pelo lazaros menor
Dfox replied to Dfox's tópico in Object Pascal - Delphi & Lazarus
Muito obrigado de 34 Mb foi para 3.64 Mb. -
Deixar o exe gerado pelo lazaros menor
um tópico no fórum postou Dfox Object Pascal - Delphi & Lazarus
Boa tarde, alguém sabe como eu posso deixar o exe gerado pelo Lazaros menor? -
Obrigado pela atenção, deu certo pode fechar o tópico.
-
sim é firebird 2.5, sim é esse ,es,o o nome da pk sim, removi as referencias dela e nada. segue o banco, preciso excluir a pk da da tabela c000061 campo código. BKbase_20200825_1605.zip
-
boa tarde, ao tentar fazer um drop em campo da tabela ALTER TABLE C000061 DROP CONSTRAINT PK_C000061 retorna o seguinte erro unsuccessful metadata update. ERASE RDB$RELATION_CONSTRAINTS failed. ja viram esse erro?
-
Apos a correção compilou normalmente aqui também!
- 22 replies
-
- jsonsutilsex.pas
- jsonsutilsex
- (e 3 mais)