// ALTA, MODIFICACION Y ELIMINAR
Function ABMBanco(oDbf,oLbx,oDlg,nKey)
Local oDlg1,Btn1,Btn2,OldOrd,Reg,SiNo,VecLoc[0],VecProv[0],;
vCod,vRaz,vDir,vPro,vLoc,vTel,vCui,vPos,;
oCod,oRaz,oDir,oPro,oLoc,oTel,oCui,oPos
Reg:=oDbf:Recno()
CargoVec_Ban(oDbf,oDbfLoc,@VecLoc,"L")
CargoVec_Ban(oDbf,oDbfProv,@VecProv,"P")
IF nKey<>46
OldOrd:=oDbf:IndexOrder()
oDbf:SetOrder(1)
IF nKey=45
DEFINE DIALOG oDlg1 RESOURCE "ABM_BANCOS" OF oDlg TITLE "ALTA DE BANCOS"
oDbf:GoBottom()
oDbf:Blank()
vCod:=oDbf:CODIGO+1
vRaz:=SPACE(30)
vDir:=SPACE(30)
SELECT LOCALIDA
oDbfLoc:GoTop()
vLoc:=TRAN(oDbfLoc:CODIGO,"######")+" "+ oDbfLoc:DESCRIP
SELECT PROVINC
oDbfProv:GoTop()
vPro:=TRAN(oDbfProv:CODIGO,"######")+" "+ oDbfProv:DESCRIP
SELECT BANCOS
vPos:=0
vTel:=SPACE(30)
vCui:=SPACE(13)
oDlg1:Update()
ENDIF
IF nKey=13 .OR. nKey=1 .OR. nKey=77
DEFINE DIALOG oDlg1 RESOURCE "ABM_BANCOS" OF oDlg TITLE "MODIFICACION DE BANCOS"
oDbf:Load()
vCod:=oDbf:CODIGO
vRaz:=oDbf:RAZONSOC
vDir:=oDbf:DIRECCION
SELECT LOCALIDA
oDbfLoc:Seek(oDbf:LOCALIDA)
IF !oDbfLoc:Eof()
vLoc:=TRAN(oDbfLoc:CODIGO,"######")+" "+ oDbfLoc:DESCRIP
ELSE
vLoc:=SPACE(30)
ENDIF
SELECT PROVINC
oDbfProv:Seek(oDbf:PROVINCIA)
IF !oDbfProv:Eof()
vPro:=TRAN(oDbfProv:CODIGO,"######")+" "+ oDbfLoc:DESCRIP
ELSE
vPro:=SPACE(30)
ENDIF
SELECT BANCOS
vPos:=oDbf:CODPOSTAL
vTel:=oDbf:TELEFONO
vCui:=oDbf:CUIT
ENDIF
REDEFINE BTNBMP Btn1 ID 200 OF oDlg1 RESOURCE "FLOPPY" LEFT;
ACTION GraboBanco(nKey,vCod,oDbf,vRaz,vDir,vLoc,vPro,vPos,vTel,vCui),;
oDlg1:End();
PROMPT "Grabar"
REDEFINE BTNBMP Btn2 ID 201 OF oDlg1 RESOURCE "SALIR" LEFT;
ACTION oDlg1:End();
PROMPT "Salir"
IF nKey=1
Btn1:Disable()
ENDIF
REDEFINE GET oCod VAR vCod ID 100 OF oDlg1 PICTURE "######" WHEN(nKey=45);
VALID{||VerCodigo(vCod,oDbf)}
REDEFINE GET oRaz VAR vRaz ID 101 OF oDlg1 PICTURE "@!"
REDEFINE GET oDir VAR vDir ID 102 OF oDlg1 PICTURE "@!"
REDEFINE COMBOBOX oLoc VAR vLoc ITEMS VecLoc ID 103 OF oDlg1;
WHEN{||IniVectores(oLoc,VecLoc,oDbf:LOCALIDA)}
REDEFINE COMBOBOX oPro VAR vPro ITEMS VecProv ID 104 OF oDlg1;
WHEN{||IniVectores(oPro,VecProv,oDbf:PROVINCIA)}
REDEFINE GET oPos VAR vPos ID 105 OF oDlg1 PICTURE "######" VALID(oDbf:CODPOSTAL>=0)
REDEFINE GET oTel VAR vTel ID 106 OF oDlg1 PICTURE "@!"
REDEFINE GET oCui VAR vCui ID 107 OF oDlg1 PICTURE "##-########-#"
REDEFINE GET oDbf:OBSERVA MEMO ID 108 OF oDlg1
ACTIVATE DIALOG oDlg1 CENTERED
ENDIF
IF nKey=46
SiNo:=MsgNoYes("Esta seguro que desea eliminar el registro?",;
"Por favor, seleccione")
IF SiNo
oDbf:RecLock()
oDbf:Delete()
oDbf:Unlock()
ENDIF
ENDIF
oDbf:SetOrder(OldOrd)
oDbf:GoTo(Reg)
oLbx:Refresh()
oLbx:SetFocus()
Return nil
//
// GRABO EN LA BASE
Function GraboBanco(nKey,vCod,oDbf,vRaz,vDir,vLoc,vPro,vPos,vTel,vCui)
IF nKey=45
oDbf:Append()
ELSE
oDbf:RecLock()
ENDIF
oDbf:CODIGO :=vCod
oDbf:RAZONSOC :=vRaz
oDbf:DIRECCION :=vDir
oDbf:LOCALIDA :=VAL(SUBSTR(vLoc,1,6))
oDbf:PROVINCIA :=VAL(SUBSTR(vPro,1,6))
oDbf:CODPOSTAL :=vPos
oDbf:TELEFONO :=vTel
oDbf:CUIT :=vCui
oDbf:Save()
oDbf:Unlock()
Return nil
//
Te env铆o esta porcion de c贸digo donde hay un campo memo, "El de observaci贸n" no se si esto es lo que me est谩s pidiendo.