by JoseLuis » Fri Oct 30, 2009 1:08 pm
He modificado el código y he añadido un Radio más como he dicho anteriormente para salir del atolladero.
static FUNCTION Entalba(cTitulo,cQueHago,reconduc,aAlias)
local oBmp
local cCodProTem
local cCodconTem
LOCAL cCodartTem
local oboton
local onumero
local oDlg,oGet
local ocodprou
local ti:=.F.
local cestado
local titulo
local valor:='S'
local lOldConfirm := Set( _SET_CONFIRM )
local i,osay,arect
local oRadio1,oRadio2,oRadio3
local oalbaran,ogastos
local oconduc
local ctexto:='00'
local ntot:=0
local lcomple:=.F.
local lmb:=.F.
local oFont1
local occr,ogroup
local mkilos,mvolu
local seltar:=1
Publicas:cAlbaran:=space(7)
Publicas:imporan:=0
Publicas:ccr:=space(1)
Publicas:ckilos:=0
Publicas:ngastos:=0
Publicas:lforza:=.F.
Publicas:cfcobro2:=1
Publicas:cestadis:=.T.
Publicas:xdatos:=space(40)
Publicas:xdatos1:=space(40)
Publicas:xconcre:='A L B A R A N E S D E C R E D I T O'
Publicas:cbk:='B'
Publicas:xntipo:=1
Publicas:cfe := Publicas:dFetra
Publicas:cDomiprou:=' '
Publicas:cControlSal:=" "
Publicas:cDomipro:=' '
Publicas:Ruta:=space(2)
Publicas:Ruta1:=space(2)
if cQueHago ="V"
Publicas:cTota:=round((aAlias[24])->baseimpo*Publicas:resultado,2)
Publicas:cImp := Publicas:cTota - (aAlias[24])->baseimpo
endif
if cQueHago = "A"
Publicas:cTipo := 1
Publicas:xc_Alm := SPACE(5)
cCodPro := SPACE(5)
cCodProu := space(5)
Publicas:cProu := space(35)
Publicas:cPro := space(35)
Publicas:cCodart := SPACE(4)
Publicas:cPrecio_C := 0
Publicas:cPobla :=space(24)
Publicas:cPobla1 :=space(24)
Publicas:cNeto := 1
Publicas:cTot := 0
Publicas:cTota := 0
Publicas:cImp := 0
Publicas:nIva := 0
cestado := '1'
Publicas:ltReemb := .F.
Publicas:lObse := .F.
Publicas:lgrupo := .F.
Publicas:cNgrupo := space(10)
Publicas:cClave := space(5)
Publicas:nGImporte := 0
Publicas:ngReembol := 0
Publicas:nIreemb := 0
Publicas:cObservaci := StrTran( "", Chr( 141 ) + Chr( 10 ), "" )
if Publicas:cAuto='S'
(aAlias[24])->(Dbgobottom())
Publicas:nAlba:=val((aAlias[24])->albaran)+1
Publicas:cAlbaran:= Padl(alltrim(str(Publicas:nAlba)),7,"0")
endif
else
Publicas:cObservaci := StrTran( (aAlias[24])->observaci, Chr( 141 ) + Chr( 10 ), "" )
cestado:= (aAlias[24])->estado
if cestado='2' .and. cQueHago = "M"
msgalert('VAS A MODIFICAR UN ALBARAN FACTURADO','A VER LO QUE HACES')
endif
Publicas:cTipo := (aAlias[24])->tipo
Publicas:cAlbaran := (aAlias[24])->Albaran
Publicas:cFe := (aAlias[24])->Fecha
cCodPro := (aAlias[24])->Codpro
cCodProu := (aAlias[24])->Codprou
Publicas:cPro := (aAlias[24])->pro
Publicas:cDomipro := (aAlias[24])->domipro
Publicas:cPobla := (aAlias[24])->pobla
Publicas:cPobla1 := (aAlias[24])->pobla1
Publicas:cProu := (aAlias[24])->prou
Publicas:cTota := round((aAlias[24])->baseimpo*Publicas:resultado,2)
Publicas:cImp := Publicas:cTota - (aAlias[24])->baseimpo
Publicas:cCodart := (aAlias[24])->Codart
Publicas:cArt := (aAlias[24])->Art
Publicas:cCon := (aAlias[24])->nconductor
Publicas:cTot := (aAlias[24])->baseimpo
Publicas:cPrecio_C := (aAlias[24])->Precio_c
Publicas:cNeto := (aAlias[24])->kilos
Publicas:cCodcon := (aAlias[24])->conductor
Publicas:nIva := (aAlias[24])->iva
Publicas:ngastos := (aAlias[24])->gastos
Publicas:cfcobro2 := iif((aAlias[24])->gastos=0,1,2)
Publicas:imporan := (aAlias[24])->baseimpo
Publicas:ccr := (aAlias[24])->cr
Publicas:ruta := iif(Publicas:ccr="C",(aAlias[24])->rutac,(aAlias[24])->rutar)
Publicas:ruta1 := iif(Publicas:ccr="C",(aAlias[24])->rutar,(aAlias[24])->rutac)
Publicas:ckilos := (aAlias[24])->kkilos
Publicas:ltReemb := (aAlias[24])->treemb
Publicas:lObse := (aAlias[24])->obse
Publicas:lgrupo := (aAlias[24])->grupo
Publicas:cNgrupo := (aAlias[24])->ngrupo
Publicas:cClave := (aAlias[24])->clave
Publicas:nGImporte := (aAlias[24])->gimporte
Publicas:ngReembol := (aAlias[24])->gReembol
Publicas:nIreemb := (aAlias[24])->ireemb
Publicas:xc_Alm := (aAlias[24])->c_alm
Publicas:xdatos := (aAlias[24])->datos
Publicas:xdatos1 := (aAlias[24])->datos1
Publicas:cbk := (aAlias[24])->bk
Publicas:xconcre := iif((aAlias[24])->Tipo=1,'A L B A R A N E S D E C R E D I T O','A L B A R A N E S D E C O N T A D O')
Publicas:cestadis := (aAlias[24])->estadis
mkilos := iif((aAlias[24])->bk="K",(aAlias[24])->kilos,(aAlias[24])->kkilos)
mvolu := (aAlias[24])->volumen
(aAlias[21])->(Dbseek(cCodpro))
lmb:=(aAlias[21])->mb
if Publicas:ltReemb=.T.
(aAlias[28])->(Dbseek(Publicas:cAlbaran))
endif
endif
DEFINE FONT oFont1 NAME "ARIAL" SIZE 0,-15 BOLD ITALIC
DEFINE DIALOG oDlg RESOURCE "Entradas" BRUSH Publicas:oBrush1 TRANSPARENT Font Publicas:oWPpal:ofont
oDlg:cTitle:=cTitulo
REDEFINE GROUP oGroup ID 300 COLOR CLR_HBLUE, CLR_GRAY OF oDlg ;
FONT Publicas:oWPpal:oFont TRANSPARENT
REDEFINE GROUP oGroup ID 301 COLOR CLR_HBLUE, CLR_GRAY OF oDlg ;
FONT Publicas:oWPpal:oFont TRANSPARENT
REDEFINE GROUP oGroup ID 302 COLOR CLR_HBLUE, CLR_GRAY OF oDlg ;
FONT Publicas:oWPpal:oFont TRANSPARENT
REDEFINE GROUP oGroup ID 303 COLOR CLR_HBLUE, CLR_GRAY OF oDlg ;
FONT Publicas:oWPpal:oFont TRANSPARENT
REDEFINE GROUP oGroup ID 304 COLOR CLR_HBLUE, CLR_GRAY OF oDlg ;
FONT Publicas:oWPpal:oFont TRANSPARENT
REDEFINE GROUP oGroup ID 305 COLOR CLR_HBLUE, CLR_GRAY OF oDlg ;
FONT Publicas:oWPpal:oFont TRANSPARENT
REDEFINE GROUP oGroup ID 306 COLOR CLR_HBLUE, CLR_GRAY OF oDlg ;
FONT Publicas:oWPpal:oFont TRANSPARENT
REDEFINE GROUP oGroup ID 307 COLOR CLR_HBLUE, CLR_GRAY OF oDlg ;
FONT Publicas:oWPpal:oFont TRANSPARENT
REDEFINE GROUP oGroup ID 308 COLOR CLR_HBLUE, CLR_GRAY OF oDlg ;
FONT Publicas:oWPpal:oFont TRANSPARENT
REDEFINE RADIO oRadio1 VAR Publicas:cTipo ID 32 , 33 OF oDlg ;
ON CHANGE (iif(Publicas:cTipo=1,(Publicas:oAlbaran1:Hide(),Publicas:oAlbaran2:Hide(),;
Publicas:oDetalle2:settext('A L B A R A N E S D E C R E D I T O')),;
(Publicas:oAlbaran1:show(),Publicas:oAlbaran2:Show(),;
Publicas:oDetalle2:settext('A L B A R A N E S D E C O N T A D O'),;
Publicas:cTota:=round((aAlias[24])->baseimpo*Publicas:resultado,2),;
Publicas:cImp:=Publicas:cTota-(aAlias[24])->baseimpo)),oDlg:Refresh(),oDlg:Update() ) When cQuehago$"AM"
REDEFINE RADIO oRadio2 VAR Publicas:cfcobro2 ID 34,35 OF oDlg Update When cQuehago$"AM" .and. Publicas:ltReemb=.T.
REDEFINE RADIO oRadio3 VAR seltar ID 37,38,39 OF oDlg When cQuehago$"AM";
ON CHANGE (ponotra(cquehago,seltar,aAlias),oDlg:Update)
REDEFINE CHECKBOX lcomple ID 250 OF oDlg Update When cQuehago$"AM"
REDEFINE CHECKBOX Publicas:ltReemb ID 251 OF oDlg Update When cQuehago$"AM"
REDEFINE CHECKBOX Publicas:lObse ID 252 OF oDlg Update When cQuehago$"AM"
REDEFINE CHECKBOX Publicas:lgrupo ID 253 OF oDlg Update When cQuehago$"AM"
REDEFINE CHECKBOX Publicas:lforza ID 254 OF oDlg Update When cQuehago$"AM"
REDEFINE SAY osay ID 6 OF oDlg COLOR CLR_GREEN
if cQuehago="A"
REDEFINE SAY osay PROMPT "" ID 7 OF oDlg
else
REDEFINE SAY osay PROMPT Str((aAlias[24])->Orden,7) ID 7 OF oDlg COLOR nRGb( 251, 151, 71 ) Font Publicas:frosa
endif
REDEFINE SAY osay ID 8 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 9 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 10 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 11 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 12 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 13 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 14 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 15 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 16 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 17 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 18 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 19 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 20 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 21 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 24 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 25 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 27 OF oDlg COLOR CLR_GREEN
REDEFINE SAY Publicas:oDetalle ID 28 OF oDlg COLOR CLR_GREEN
REDEFINE SAY Publicas:oDetalle1 ID 29 OF oDlg COLOR CLR_GREEN
REDEFINE SAY Publicas:oDetalle2 ID 36 OF oDlg COLOR RGB(255,97,35) FONT oFont1
REDEFINE SAY osay ID 30 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 31 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 40 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 41 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 42 OF oDlg COLOR CLR_GREEN
REDEFINE SAY osay ID 43 OF oDlg COLOR CLR_GREEN
REDEFINE BTNGET onumero VAR Publicas:cAlbaran ID 101 OF oDlg Picture "@!" Update;
Valid ((Publicas:cAlbaran:= Padl(alltrim(Publicas:cAlbaran),7,"0"),oDlg:Update()),;
IIf ((aAlias[24])->(dbseek(Publicas:cAlbaran)) .or. Publicas:cAlbaran='0000000',;
(MsgStop(OemToAnsi("El Numero de albaran no es valido"),"ERROR"),.F.),(Publicas:cControlSal:="*",.T.)));
When cQuehago$"A"
REDEFINE BTNGET oGet VAR Publicas:cFe ID 102 OF oDlg Update RESOURCE "CALENDAR" ;
Valid ((valor:= evalua(Publicas:cFe),oDlg:Update()),;
IIf (year(Publicas:cFe)<>val(Publicas:cSubd),;
(MsgStop(OemToAnsi("Cuidadin que la Fecha no Vale"),"ERROR"),.F.),(Publicas:cControlSal:="*",.T.))); //valid eval ({||(valor:=evalua(Publicas:cFe),oDlg:Update()),.T.}) ;
ACTION (Publicas:cFe:=calenda(GetCoors(oDlg:hWnd),GetCoors(oGet:hWnd)),oDlg:Update());
when cQuehago$"AM" .and. valor="S"
REDEFINE BTNGET oalbaran VAR cCodPro ID 103 OF oDlg Update Picture "@!" ;
Valid ((cCodPro:= Padl(alltrim(cCodPro),5,"0"),oDlg:Update()),;
IIf (!(aAlias[21])->(dbSeek(cCodPro)) .OR. cCodPro='00000' .or. (aAlias[21])->anul=.T.,;
(cCodProTem:=cCodPro,LocPro(@oDlg,@ccodpro,aAlias),oDlg:Update(),.F.),;
(Publicas:xc_Alm:=buscaalm((aAlias[21])->codigo,1,aAlias),Publicas:cPro := (aAlias[21])->nombre,lmb:=(aAlias[21])->mb,;
Publicas:cCodart:=busforza(aAlias),Publicas:cDomipro:=(aAlias[21])->calle,;
Publicas:cPobla:=(aAlias[21])->pobla,Publicas:cArt:=tipoa(Publicas:cCodart,aAlias),Publicas:xntipo:=tipob(Publicas:cCodart,aAlias),titulo:=strtran(Publicas:cArt,'Cobro por '),pontitulo(titulo),;
Publicas:cControlSal:="*",oDlg:Update(),.T. )));
When valor="S"
REDEFINE BTNGET oalbaran VAR Publicas:cPro ID 104 Of oDlg Update Picture "@!";
valid eval ({||(acompleto('uno',lcomple),oDlg:Update()),.T.}) ;
When cCodPro='99999'
REDEFINE BTNGET occr VAR Publicas:ccr ID 52 Picture "@!" Of oDlg Valid(Compara(Publicas:ccr)) When cQuehago$"AM" .and. valor="S"
REDEFINE BTNGET ocodprou VAR cCodProu ID 105 OF oDlg Update Picture "@!" ;
Valid ( (cCodProu:= Padl(alltrim(cCodProu),5,"0"),oDlg:Update()),;
IIF(cCodProu <> '88888',(IIf (!(aAlias[21])->(dbSeek(cCodProu)) .OR. cCodProu='00000',;
(cCodProTem:=cCodProu,LocPro(@oDlg,@ccodprou,aAlias),oDlg:Update(),.F.),;
(Publicas:xdatos1:=Buscaalm((aAlias[21])->codigo,2,aAlias),Publicas:cDomiprou:=(aAlias[21])->calle,Publicas:cProu := (aAlias[21])->nombre,Publicas:cPobla1:=(aAlias[21])->pobla,;
Publicas:cControlSal:="*",oDlg:Update(),.T. ))),(Publicas:cProu := (aAlias[21])->nombre,Publicas:cPobla1:=(aAlias[21])->pobla,Publicas:cControlSal:="*",oDlg:Update(),.T.)) );
When cQuehago$"AM" .and. valor="S"
REDEFINE BTNGET oalbaran VAR Publicas:cProu ID 106 Of oDlg Update Picture "@!";
valid eval ({||(acompleto('dos',lcomple),oDlg:Update()),.T.}) ;
When cCodProu='99999' .and. cQuehago$"AM"
REDEFINE BTNGET oalbaran VAR Publicas:cPobla ID 120 Of oDlg Update Picture "@!";
When ti=.T.
REDEFINE BTNGET oalbaran VAR Publicas:cPobla1 ID 121 Of oDlg Update Picture "@!";
When ti=.T.
REDEFINE BTNGET oalbaran VAR Publicas:cCodart ID 107 OF oDlg Update Picture "@!";
Valid ((Publicas:cCodart:= Padl(alltrim(Publicas:cCodart),4,"0"),oDlg:Update()),;
IIf (!(aAlias[1])->(dbSeek(Publicas:cCodart)) .OR. Publicas:cCodart='0000',;
(cCodartTem:=Publicas:cCodart,LocArt(@oDlg,aAlias),oDlg:Update(),.F.),;
(Publicas:cArt:=tipoa(Publicas:cCodart,aAlias),Publicas:xntipo:=tipob(Publicas:cCodart,aAlias),titulo:=strtran(Publicas:cArt,'Cobro por '),pontitulo(titulo),oDlg:Update(),.T. ))) ;
When cQuehago$"AM" .and. valor="S"
REDEFINE BTNGET oalbaran VAR Publicas:cArt ID 108 Of oDlg Update ;
When ti=.T.
REDEFINE SAY Publicas:oTitulo ID 200 OF oDlg COLOR CLR_GREEN
REDEFINE SAY Publicas:oTitulo1 ID 53 OF oDlg COLOR CLR_GREEN
REDEFINE BTNGET oalbaran VAR Publicas:cNeto ID 111 OF oDlg Update picture "@Z 99,999";
Valid ((Publicas:cPrecio_C:=valora(Publicas:cNeto,aAlias),oDlg:Update()),;
IIf (Publicas:cNeto =0,;
(msgstop('Error','Cantidad Cero'),oDlg:Update(),.F.),;
(Publicas:cTot:=ponminimo(Publicas:cNeto,Publicas:cPrecio_C,aAlias),pontot(Publicas:cTot),oDlg:Update(),.T. ))) ;
When cQuehago$"AM" .and. valor="S"
REDEFINE BTNGET oalbaran VAR Publicas:ckilos ID 54 OF oDlg Update picture "@Z 99,999";
valid eval ({||(valorabultos(Publicas:ckilos,aAlias,lmb),oDlg:Update()),.T.}) ;
when titulo='kilos/Tramos' .or. titulo='kilos/Unidad'
REDEFINE BTNGET oalbaran VAR Publicas:cPrecio_C ID 110 OF oDlg Update picture "@Z 999.999999";
When cQuehago$"AM" .and. valor="S"
REDEFINE BTNGET oalbaran VAR Publicas:cTot ID 112 Of oDlg Update PICTURE "@Z 99,999.99" ;
valid eval ({||(ntot:= Publicas:cTot,oDlg:Update()),.T.}) ;
When cQuehago$"AM" .and. Publicas:cTipo=1
REDEFINE BTNGET Publicas:oAlbaran1 VAR Publicas:cImp ID 125 Of oDlg Update PICTURE "@Z 9,999.99" When cQuehago$"AM"
REDEFINE BTNGET Publicas:oAlbaran2 VAR Publicas:cTota ID 126 Of oDlg Update PICTURE "@Z 99,999.99" When cQuehago$"AM";
valid eval ({||(Publicas:cTot:= round(Publicas:cTota/Publicas:resultado,2),oDlg:Update()),.T.})
REDEFINE BTNGET oconduc VAR Publicas:cCodcon ID 113 OF oDlg Update Picture "@!";
Valid ((Publicas:cCodcon:= Padl(alltrim(Publicas:cCodcon),5,"0"),oDlg:Update()),;
IIf (!(aAlias[26])->(dbSeek(Publicas:cCodcon)) .OR. Publicas:cCodcon='00000',;
(cCodconTem:=Publicas:cCodcon,Loccon(@oDlg,aAlias),oDlg:Update(),.F.),;
(Publicas:cCon:=(aAlias[26])->nombre,oDlg:Update(),.T. ))) ;
When cQuehago$"AM"
REDEFINE BTNGET oalbaran VAR Publicas:cNgrupo ID 221 OF oDlg Update;
Valid ((Publicas:cNgrupo:= Padl(alltrim(Publicas:cNgrupo),10,"0"),oDlg:Update()),;
IIf (Publicas:cNgrupo='0000000000',;
(MsgStop(OemToAnsi("El Numero de grupo no es valido"),"ERROR"),.F.),(Publicas:cControlSal:="*",.T.)));
When cQuehago$"AM" .and. Publicas:lgrupo=.T.
REDEFINE BTNGET oalbaran VAR Publicas:cClave ID 222 OF oDlg Update;
Valid ((Publicas:cClave:= Padl(alltrim(Publicas:cClave),5,"0"),oDlg:Update()),;
IIf (Publicas:cClave='99999',;
(MsgStop(OemToAnsi("El Numero de clave no es valido"),"ERROR"),.F.),(Publicas:cControlSal:="*",.T.)));
When cQuehago$"AM" .and. Publicas:lgrupo=.T.
REDEFINE BTNGET oalbaran VAR Publicas:nGImporte ID 223 OF oDlg Update PICTURE "@Z 99,999.99" ;
When cQuehago$"AM" .and. Publicas:lgrupo=.T.
REDEFINE BTNGET oalbaran VAR Publicas:ngReembol ID 224 OF oDlg Update PICTURE "@Z 99,999.99" ;
When cQuehago$"AM" .and. Publicas:lgrupo=.T.
REDEFINE BTNGET oalbaran VAR Publicas:cCon ID 114 Of oDlg Update ;
When ti=.T.
REDEFINE BTNGET oalbaran VAR Publicas:cCodart ID 226 OF oDlg Update Picture "@!";
Valid ((Publicas:cCodart:= Padl(alltrim(Publicas:cCodart),4,"0"),oDlg:Update()),;
IIf (!(aAlias[1])->(dbSeek(Publicas:cCodart)) .OR. Publicas:cCodart='0000',;
(Publicas:cCodartTem:=Publicas:cCodart,LocArt(@oDlg,aAlias),oDlg:Update(),.F.),;
(Publicas:cArt:=tipoa(Publicas:cCodart,aAlias),Publicas:xntipo:=tipob(Publicas:cCodart,aAlias),titulo:=strtran(Publicas:cArt,'Cobro por '),pontitulo(titulo),oDlg:Update(),.T. ))) ;
When Publicas:lforza=.T.
REDEFINE BTNGET oalbaran VAR Publicas:cArt ID 227 Of oDlg Update ;
When ti=.T.
REDEFINE BTNGET oalbaran VAR ctexto ID 119 Of oDlg Update ;
Valid ((ctexto:= Padl(alltrim(ctexto),2,"0"),oDlg:Update()),;
IIf (!(aAlias[13])->(dbSeek(ctexto)) .OR. ctexto='00',;
(msgstop('CODIGO NO EXISTE','ATENCION'),oDlg:Update(),.F.),;
(Publicas:cObservaci:=(aAlias[13])->nombre,Publicas:cControlSal:="*",oDlg:Update(),.T. )));
When cQuehago$"AM" .and. Publicas:lObse=.T.
REDEFINE BTNGET oalbaran VAR mkilos ID 127 Of oDlg Update ;
When ti=.T.
REDEFINE BTNGET oalbaran VAR mvolu ID 128 Of oDlg Update ;
When ti=.T.
REDEFINE BTNGET oalbaran VAR Publicas:nIreemb ID 202 Of oDlg Update PICTURE "@Z 99,999.99" ;
valid eval ({||Publicas:ngastos:=iif(Publicas:nIreemb*Publicas:gReembo/100<Publicas:gMinimo,Publicas:gMinimo,round(Publicas:nIreemb*Publicas:gReembo/100,2)),oDlg:Update(),.T.});
When cQuehago$"AM" .and. Publicas:ltReemb=.T.
REDEFINE BTNGET ogastos VAR Publicas:ngastos ID 203 Of oDlg Update PICTURE "@Z 99,999.99" ;
valid eval ({||Publicas:cTot:=iif(Publicas:cfcobro2=1,Publicas:cTot+Publicas:ngastos,Publicas:cTot),pontot(Publicas:cTot),oDlg:Update(),.T.}) ;
When cQuehago$"AM" .and. Publicas:ltReemb=.T.
REDEFINE GET oalbaran VAR Publicas:cObservaci MEMO ID 150 OF oDlg Update When cQuehago$"AM" .and. Publicas:lObse=.T.
REDEFINE BITMAP oBmp RESOURCE "Lupin" ID 115 OF oDlg ADJUST;
ON LEFT CLICK ( cCodProTem:=cCodPro,;
LocPro(@oDlg,@ccodpro,aAlias),oDlg:Update());
When cQuehago$"AM"
REDEFINE BITMAP oBmp RESOURCE "Lupin" ID 116 OF oDlg ADJUST;
ON LEFT CLICK ( cCodProTem:=cCodProu,;
LocPro(@oDlg,@ccodprou,aAlias),oDlg:Update());
When cQuehago$"AM"
REDEFINE BITMAP oBmp RESOURCE "Lupin" ID 117 OF oDlg ADJUST;
ON LEFT CLICK ( Publicas:cCodartTem:=Publicas:cCodart,;
LocArt(@oDlg,aAlias),oDlg:Update());
When cQuehago$"AM"
REDEFINE BITMAP oBmp RESOURCE "Lupin" ID 118 OF oDlg ADJUST;
ON LEFT CLICK ( cCodconTem:=Publicas:cCodcon,;
Loccon(@oDlg,aAlias),oDlg:Update());
When cQuehago$"AM"
REDEFINE BUTTON oboton ID 550 OF oDlg PROMPT "Aceptar" ;
ACTION (grabar(valor,cQueHago,cestado,aAlias),iif(cQuehago='M',oDlg:End,(oDlg:Update(),oboton:oJump:=onumero,onumero:setfocus())));
When cQuehago$"AM"
if Publicas:ltReemb=.F. .or. Publicas:lgrupo=.F.
oboton:oJump := onumero
endif
oGet:bGotFocus := {|| if( reconduc="C", (oGet:oJump:=oconduc,oconduc:SetFocus(), .f. ), )}
occr:bGotFocus := {|| Set( _SET_CONFIRM, .F. ) }
occr:bLostFocus := {|| Set( _SET_CONFIRM, lOldConfirm ) }
ACTIVATE DIALOG oDlg CENTERED;
ON INIT (prepara(cquehago,aAlias),Publicas:oDetalle:settext(alltrim(Publicas:xdatos)),;
Publicas:oDetalle1:settext(alltrim(Publicas:xdatos1)),Publicas:oDetalle2:settext(alltrim(Publicas:xconcre)),;
if( cquehago="A", ( onumero:SetFocus(), .f. ), ))
RETURN NIL
Static function ponotra(cquehago,seltar,aAlias)
local titulo
if seltar==1 .and. cQuehago$"M"
Publicas:ccodart:=(aAlias[24])->Codart
Publicas:cArt:=tipoa(Publicas:cCodart,aAlias)
Publicas:xntipo:=tipob(Publicas:cCodart,aAlias)
titulo:=strtran(Publicas:cArt,'Cobro por ')
pontitulo(titulo)
Publicas:cPrecio_C:=valora(Publicas:cNeto,aAlias)
If Publicas:cNeto =0
msgstop('Error','Cantidad Cero')
endif
Publicas:cTot:=ponminimo(Publicas:cNeto,Publicas:cPrecio_C,aAlias)
pontot(Publicas:cTot)
endif
if seltar==2
Publicas:ccodart:=(aAlias[21])->Tipo
endif
if seltar==3
Publicas:ccodart:=(aAlias[21])->Tipo1
endif
if seltar==2 .or. seltar==3
Publicas:cArt:=tipoa(Publicas:cCodart,aAlias)
Publicas:xntipo:=tipob(Publicas:cCodart,aAlias)
titulo:=strtran(Publicas:cArt,'Cobro por ')
pontitulo(titulo)
Publicas:cPrecio_C:=valora(Publicas:cNeto,aAlias)
If Publicas:cNeto =0
msgstop('Error','Cantidad Cero')
endif
Publicas:cTot:=ponminimo(Publicas:cNeto,Publicas:cPrecio_C,aAlias)
pontot(Publicas:cTot)
endif
Return nil