Code: Select all
Qte3 := "SELECT A1.codcia,A1.tipdoc,A1.planta,A1.numorden,A1.codprod,A1.verprod,A1.codprov,A1.consec,"+;
"A1.ordcom,A1.fecordc,A1.ord_ant,A1.mconsi,A1.destino AS destino_,A1.dir_dest AS dir_dest_,A1.valunit,"+;
"A1.desc_por,A1.pesos,A1.codpag,A1.flete,A1.tflete,A1.cantidad,A1.porprod,A1.fec_soli,A1.fec_conf,"+;
"A1.fec_prog,A1.hora_prog,A1.vend,A1.codrut,A1.`status`,A1.tstatus,A1.bob,A1.bobant,A1.valtot,"+;
"A1.tvaltot,A1.kiltot,A1.kilneto,A1.tkilneto,A1.tkiltot,A1.pesoteo,A1.tpesoteo,A1.dev_unid,A1.dev_kilo,"+;
"A1.dev_teor,A1.fec_crea,A1.firma,A1.codanu,A1.tcodanu,A1.codcum,A1.tcodcum,A1.fec_anu,A1.fec_cum,"+;
"A1.fec_stat,A1.blodes,A1.atrazo,A1.fec_entinv,A1.fec_despa,A1.anoprec,A1.docprec,A1.sta_bloq,"+;
"A1.tsta_bloq,A1.usu_stat,A1.fec_rec,A1.hor_rec,A1.cumprod,A1.tip_ped,A1.ttip_ped,A1.documen,"+;
"A1.notafac,A1.pedprog,A3.nombre AS nombre_clie,A3.sigla,A4.zona,A4.indus,A4.grupo,A4.maxcred,A4.ciud_des,"+;
"A4.depto_des,A4.direc_des,A4.telef1_des,A4.telef2_des,A5.nombre AS nombre_grupo,A6.nombre AS nombre_vend,"+;
"A7.nombre AS nombre_zona,A8.simbolo,A8.referencia,A8.largo,A8.ancho,A8.ancho_m,A8.fuel_l,A8.fuel_f,"+;
"A8.kilmil,A8.metros,A8.solapa,A8.anch_prog,A8.calibre,A8.gramaje,A8.selle,A8.caras,A8.colores,"+;
"A8.pigmto,A8.tratado,A8.gsaac,A8.saac,A8.gsaot,A8.saot,A8.gplt,A8.plt,A8.fac,A8.tfac,A8.microp,"+;
"A8.biodeg,A8.documen AS documen_prod,A9.nombre AS nombre_gmat,A10.nombre AS nombre_mat,"+;
"A10.nombre1 AS nombre_matc,A11.nombre AS nombre_gest,A12.nombre AS nombre_est,A12.nombre1 AS nombre_estc,"+;
"A13.nombre AS nombre_ruta,A14.nombre AS nombre_tsel,A15.nombre AS tipo_factu,A16.nombre AS nombre_flete,"+;
"A17.nombre AS nombre_plant,A18.nombre AS nombre_sector,A19.nombre AS nombre_codpag,A20.nombre AS nombre_status,"+;
"A21.nombre AS nombre_tipped,A22.nombre AS nombre_gmat1,A23.nombre AS nombre_mat1,A23.nombre1 AS nombre_mat2c "+;
"FROM pedidos AS A1 "+;
"LEFT JOIN cliente AS A3 ON A1.codprov = A3.codprov "+;
"LEFT JOIN cliesec AS A4 ON A1.planta = A4.planta AND A1.codprov = A4.codprov AND A1.consec = A4.consec "+;
"LEFT JOIN kgrupo AS A5 ON A4.grupo = A5.grupo "+;
"LEFT JOIN kvended AS A6 ON A1.vend = A6.vend "+;
"LEFT JOIN kzonas AS A7 ON A4.zona = A7.zona "+;
"LEFT JOIN ktipomat AS A23 ON A8.planta = A23.planta AND A8.gsaot = A23.gsaac AND A8.saot = A23.saac "+;
"WHERE "+;
"A1.fec_soli BETWEEN '"+dtoc(D_FECHAX)+"' AND '"+dtoc(H_FECHAX)+"' AND "+;
"A1.status BETWEEN '"+ALLTRIM(D_STATUS)+"' AND '"+ALLTRIM(H_STATUS)+"' "+;
sta_prec+" "+ornd_mie
Code: Select all
EjeQueri(0,@oDbfxls,cQue1)
if oDbfxls:RecordCount() =0 //ADORecCount()
MsgInfo("No Hay Datos ","Informacion") // MsgAlert( "No Hay Datos ","Informacion" )
oDbfxls:Close()
Return (.t.)
endif
nLinea := 1 ; nHasta := oDbfxls:RecordCount()
oDbfxls:MoveFirst()
este es lo que quiero hacer, no se si se puede hacer directamente desde la sentencia SQL.
Code: Select all
Do While .Not. if(aContl[20],oDbfxls:EOF(),EOF())
x_cant := RADAField("cantidad",oDbfxls)
x_peso := RADAField("kilmil",oDbfxls)
x_metr := RADAField("metros",oDbfxls)
x_tvalt := RADAField("tvaltot",oDbfxls)
x_tkilt := RADAField("tkiltot",oDbfxls)
x_tvalt1 := RADAField("tvaltot",oDbfxls)
x_tkilt1 := RADAField("tkiltot",oDbfxls)
x_devun := RADAField("dev_unid",oDbfxls)
x_bodeg := RADAField("bob",oDbfxls)
x_devkil := RADAField("dev_kilo",oDbfxls)
if RADAField("fac",oDbfxls)="0"
cant_kilos := x_cant*(x_peso/1000)
unid_xprod := x_cant-x_tvalt-x_tvalt1-x_bodeg+x_devun
kil_xprod := unid_xprod*(x_peso/1000)
else
cant_kilos := x_cant
kil_xprod := x_cant-x_tkilt-x_tkilt1-x_bodeg+x_devkil
endif
if RADAField("cumprod",oDbfxls)=1
unid_xprod := 0
kil_xprod := 0
endif
oDbfxls:Fields("porprod"):Value := unid_xprod
oDbfxls:Update()
oDbfxls:MoveNext()
EndDo