[firebase-br] OFF - margem de contruição individual de produto

Reijanio Nunes Ribeiro rnribeiro em gmail.com
Sáb Dez 11 10:17:03 -03 2010


pessoal to fazendo um calculo para achar a margem de contribuição de um
produto que é


if atlz_prodVLRCOMPRA.AsFloat =NULL then
begin
atlz_prodVLRCOMPRA.AsFloat := StrToFloat('0,00');
atlz_prodVLRCUSTO.AsFloat :=
atlz_prodVLRCOMPRA.AsFloat*(atlz_prodVLRCUSTO.AsFloat/100+
atlz_prodPERC_FRETE.AsFloat/100)+atlz_prodVLRCOMPRA.AsFloat;
precotabVLR_SUGESTAO.AsFloat :=
(atlz_prodVLRCUSTO.AsFloat*atlz_prodCUSTO_FIXO.AsFloat/100)+
atlz_prodVLRCUSTO.AsFloat;
end;
if atlz_prodVLRCUSTO.AsFloat <> NULL then
begin
 atlz_prodMARGEM_LUCRO.AsFloat := (precotabVLR_VENDA.AsFloat -
atlz_prodVLRCUSTO.AsFloat)/atlz_prodVLRCUSTO.AsFloat * 100
end;
atlz_ProdMARGEM_CONTRIB.AsFloat :=
(precotabVLR_VENDA.AsFloat-atlz_prodVLRCOMPRA.AsFloat);
atlz_ProdMARGEM_CONTRIB.AsFloat :=
atlz_ProdMARGEM_CONTRIB.AsFloat-atlz_ProdMARGEM_CONTRIB.AsFloat*((atlz_ProdICMS.AsFloat+
atlz_ProdIPI.AsFloat+atlz_ProdPIS.AsFloat+atlz_ProdCOFINS.AsFloat)/100);
atlz_ProdLUCRO_LIQ.AsFloat :=
(atlz_ProdMARGEM_CONTRIB.AsFloat-atlz_ProdMARGEM_CONTRIB.AsFloat*atlz_ProdCUSTO_FIXO.AsFloat/100);
label22.Caption := FloatToStr(atlz_ProdMARGEM_CONTRIB.AsFloat);

so que o valor da margem varia de acordo com o preço de venda de um produto,
creio que desta forma esta errado

poderiam me ajudar

esse calculo foi adaptado de um tutorial mas que dava a margem de
contribuição geral dos produtos



Mais detalhes sobre a lista de discussão lista