![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
![]() Hola a todos..
Tengo un problemita.. que no se como solucionar... a ver si me pueden ayudar un poquito... ![]() Es un sistema de Ordenes de Compra... en donde un modulo es para modificar Ordenes que estan en Garantía.... La idea es poder agregar o quitar items de la orden (Tabla : DOrden), y actualizar los respectivos valores netos y de Iva (Tabla:Orden), para lo cual realizo el siguiente procedimiento: Agrega Item (Tabla DOrden) Código:
vTot.Text := FloatToStr(RoundN(StrToFloat(vCtd.Text)*StrToFloat(vUni.Text))); IBQ_Edit.SQL.Clear; IBQ_Edit.SQL.Add('Insert Into "DOrden" ("Ord_Numero","Dor_Descripcion","Dor_Cantidad","Dor_Valor_Unitario")'); IBQ_Edit.SQL.Add('Values (:P1,:P2, :P3, :P4)'); IBQ_Edit.Params[0].AsString := nOrd.Text; IBQ_Edit.Params[1].AsString := vDes.Text; IBQ_Edit.Params[2].AsInteger := StrToInt(vCtd.Text); IBQ_Edit.Params[3].AsFloat := StrToFloat(vUni.Text); IBQ_Edit.ExecSQL; vTot_Bru.Text := IntToStr(StrToInt(vTot.Text)+StrToInt(vTot_Net.Text)); Actualiza_Orden; Elimina (Tabla DOrden) Código:
IBQ_Edit.SQL.Clear; IBQ_Edit.SQL.Add('Delete From "DOrden"'); IBQ_Edit.SQL.Add('Where "Dor_Numero"=:Var1'); IBQ_Edit.Params[0].AsString := IBQ_Items['Dor_Numero']; IBQ_Edit.ExecSQL; vTot_Bru.Text := FloatToStr(StrToFloat(vTot_Bru.Text)-Total_Item); Procedimiento para actualizar calculos y Tabla :Orden Código:
procedure TModifica_OC.Actualiza_Orden; begin vTot_Net.Text := FloatToStr(StrToFloat(vTot_Bru.Text)-StrToFloat(vTot_Des.Text)); If CB_Factura.Checked = True Then vTot_Iva.Text := '0' Else vTot_Iva.Text := FloatToStr(RoundN(StrToFloat(vTot_Net.Text)*vIva)); vTot_Fin.Text := FloatToStr(RoundN(StrToFloat(vTot_Iva.Text)+StrToFloat(vTot_Net.Text))); IBQ_Edit.SQL.Clear; IBQ_Edit.SQL.Add('Update "Orden" Set "Ord_Neto"=:Var1, "Ord_Descuento"=:Var2, "Ord_Iva"=:Var3'); IBQ_Edit.SQL.Add('Where "Ord_Numero"=:Var4'); IBQ_Edit.Params[0].AsFloat := StrToFloat(vTot_Bru.Text); IBQ_Edit.Params[1].AsFloat := StrToFloat(vTot_Des.Text); IBQ_Edit.Params[2].AsFloat := StrToFloat(vTot_Iva.Text); IBQ_Edit.Params[3].AsString := Ordenes.Num_Orden; IBQ_Edit.ExecSQL; IBT_Edit.Commit; // Actualiza cambios en Tabla :Dorden IBT_Items.Commit; // Actualiza cambios en Tabla :Orden end; ![]() ![]()
__________________
BlueSteel |
|
|
![]() |
|