karinha wrote:Muestra en donde tu declaras la variable. Hay algun erro en esta declaracion.
Saludos.
Ahí va la función donde se declara la variable y el indice (marcado en rojo).
FUNCTION ModiSini(oBrw)
// Varios
LOCAL cCiaAseg := SPACE(25)
LOCAL cRefe := SPACE(7)
LOCAL nRefe := 0
LOCAL cNumPoliza := SPACE(15)
LOCAL cNumSini := SPACE(18)
LOCAL cClaveCia := SPACE(12)
LOCAL cRamo := SPACE(20)
LOCAL cCondi := SPACE(15)
LOCAL cSuperficie := SPACE(10)
LOCAL cAntig := SPACE(4)
LOCAL cNombre := SPACE(40)
LOCAL cDomicilio := SPACE(30)
LOCAL cPoblacion := SPACE(25)
LOCAL cTelefono := SPACE(10)
LOCAL cPerjudicado:= SPACE(40)
LOCAL cDomi := SPACE(30)
LOCAL cPobla := SPACE(25)
LOCAL cTele := SPACE(10)
LOCAL fFeSini := CTOD(" - - ")
LOCAL fFeNotif := CTOD(" - - ")
LOCAL fFeVisita := CTOD(" - - ")
LOCAL fFecha := DATE()
LOCAL GetList := {}
LOCAL aCia := {"LIBERTY ","PH ","ARAG "}
LOCAL CiaAseg := SPACE(25)
LOCAL cClave2 := SPACE(1)
LOCAL cImp := "N"
LOCAL cNota :=SPACE(120)
LOCAL cNota2 :=SPACE(60)
LOCAL oBrush
LOCAL aDatos :={}
LOCAL aRect, cDirPadre:=GetPVProfString("Config","PathFoto",".",cIniFile)
LOCAL oDlg,oLb, oLbfg,oChild
LOCAL oCbx, oGet
local lPr := .f.
LOCAL iLd := .f.
cRefe:=Siniestr->NumControl
CLOSE DATABASES
SELE 1
USE Siniestr NEW
SELE 2
USE Polizas NEW
SELE 3
USE Contrari NEW
SELE 4
USE Garant NEW
SELE 5
USE CiaAseg NEW
SELE 1
SET INDEX TO I1Sini
DbSeek(cRefe)
cNumSini:=Siniestr->NumSini
cNumPoliza:=Siniestr->NumPoliza
fFeSini:=Siniestr->FechaSini
fFeNotif:=Siniestr->FechaNoti
fFeVisita:=Siniestr->FechaVisit
cNota:=Siniestr->Notas3
cNota:=OemToAnsi(cNota)
SELE 2
SET INDEX TO I1Poliza
DbSeek(cNumPoliza)
cClaveCia:=Polizas->ClaveCia
cRamo:=Polizas->Ramo
cNombre:=OemToAnsi(Polizas->Nombre)
cDomicilio:=OemToAnsi(Polizas->Domicilio)
cPoblacion:=OemToAnsi(Polizas->Poblacion)
cTelefono:=Polizas->Telefono
cCondi:=Polizas->Condiciona
cSuperficie:=Polizas->Superficie
cAntig:=Polizas->Antiguedad
DEFINE BRUSH oBrush STYLE BRICKS
DEFINE DIALOG oDlg RESOURCE "Dialog_2" TITLE "Ver Siniestro" BRUSH oBrush
REDEFINE GET cRefe ID 10 OF oDlg UPDATE WHEN .F.
REDEFINE Combobox oCbx VAR cClaveCia ID 11 OF oDlg;
ITEMS aCia UPDATE
REDEFINE GET cNumSini ID 12 OF oDlg
REDEFINE BTNGET oGet VAR fFeSini PICTURE "@D" ID 13 OF oDlg ;
RESOURCE "Calen16" ;
ACTION (aRect := GetCoors(oGet:hWnd),;
fFeSini := FwCalendar(fFeSini,aRect[1],aRect[4],oDlg),oGet:Refresh())
REDEFINE BTNGET oGet VAR fFeNotif PICTURE "@D" ID 14 OF oDlg;
RESOURCE "Calen16" ;
ACTION (aRect := GetCoors(oGet:hWnd),;
fFeNotif := FwCalendar(fFeNotif,aRect[1],aRect[4],oDlg),oGet:Refresh())
REDEFINE BTNGET oGet VAR fFeVisita PICTURE "@D" ID 15 OF oDlg ;
RESOURCE "Calen16" ;
ACTION (aRect := GetCoors(oGet:hWnd),;
fFeVisita := FwCalendar(fFeVisita,aRect[1],aRect[4],oDlg),oGet:Refresh())
REDEFINE GET cNumPoliza ID 16 OF oDlG
REDEFINE GET cRamo ID 17 OF oDlg
REDEFINE GET cCondi ID 31 OF oDlg
REDEFINE GET cNombre ID 18 OF oDlg
REDEFINE GET cDomicilio ID 19 OF oDlg
REDEFINE GET cPoblacion ID 22 OF oDlg
REDEFINE GET cTelefono ID 23 OF oDlg
REDEFINE GET cSuperficie ID 30 OF oDlg
REDEFINE GET cAntig ID 29 OF oDlg
REDEFINE GET cNota ID 20 OF oDlg
SELE 1
INDEX ON Siniestr->NumCONTROL TO TEMPORAL2 FOR Siniestr->NumPoliza==cNumPoliza DESCENDING
REDEFINE LISTBOX oLbfg FIELDS Siniestr->NumControl HEADERS "Refe" ID 24 OF oDlg
SELE 4
INDEX ON Garant->NumPoliza TO TEMPORAL;
FOR Garant->NumPoliza ==cNumPoliza DESCENDING
SET INDEX TO TEMPORAL
REDEFINE BROWSE oLb GRID ON DblClick Garan(oLb,cNumPoliza) ID 21 OF oDlg
ADD COLUMN TO oLB;
HEADER "Art" ;
DATA (Garant->
NumGaranti) ;
ALIGN DT_RIGHT
ADD COLUMN TO oLB;
HEADER "Garantía" ;
DATA OemToAnsi(Garant->Garantia) ;
ALIGN DT_LEFT
ADD COLUMN TO oLB;
HEADER "Capital" ;
DATA (Garant->CapitalIni) ;
PICTURE "99,999,999.99";
ALIGN DT_RIGHT
REDEFINE BUTTON ID 25 OF oDlg ACTION (iLd:=.t., iPr:=.T.,oDlg:End())
REDEFINE BUTTON ID 26 OF oDlg ACTION (oDlg:End())
REDEFINE BUTTON ID 27 OF oDlg ACTION (lPr:=.t., oDlg:End())
REDEFINE BUTTON ID 28 OF oDlg ;
ACTION BuscaImagen(cFoto:=( cDirPadre+" "+AllTrim(Left (cRefe,4))+""+AllTrim(Right(cRefe,5))))
ACTIVATE DIALOG oDlg CENTERED
if lPr
SELE 5
SET INDEX TO I1CiaAse
SEEK cClaveCia
IF .NOT. EOF()
cCiaAseg:=CiaAseg->Nombre
END IF
aDatos:={cRefe,cNumSini,cNumPoliza,fFeSini,;
fFeNotif,fFeVisita,cNota,cNumPoliza,cCiaAseg,;
cRamo,cNombre,cDomicilio,cPoblacion,cTelefono,;
cCondi, cSuperficie, cAntig}
aDatos:=imp_sini(aDatos)
End if
if iLd
Sele 1
SET INDEX TO I1Sini
DbSeek(cRefe)
IF EOF()
Siniestr->(DbAppend())
END IF
Siniestr->NumControl:=cRefe
Siniestr->NumSini:=cNumSini
Siniestr->NumPoliza:=cNumPoliza
Siniestr->FechaSini:=fFeSini
Siniestr->FechaNoti:=fFeNotif
Siniestr->FechaVisit:=fFeVisita
Siniestr->Notas3:=cNota+cNota2
REINDEX
Sele 2
SET INDEX TO I1Poliza
DbSeek(cNumPoliza)
IF EOF()
Polizas->(DbAppend())
END IF
Polizas->NumPoliza:=cNumPoliza
Polizas->ClaveCia:=cClaveCia
Polizas->Ramo:=cRamo
Polizas->Nombre:=cNombre
Polizas->Domicilio:=cDomicilio
Polizas->Poblacion:=cPoblacion
Polizas->Telefono:=cTelefono
Polizas->Condiciona:=cCondi
Polizas->Superficie:=cSuperficie
Polizas->Antiguedad:=cAntig
REINDEX
SELE 3
SET INDEX TO I1Contra
DbSeek(cRefe)
IF EOF()
Contrari->(DbAppend())
END IF
Contrari->NumControl:=cRefe
Contrari->NumPerju:="1"
Contrari->NombContra:=cPerjudicado
Contrari->Domicilio:=cDomi
Contrari->Poblacion:=cPobla
Contrari->Telefono:=cTele
REINDEX
SELE 5
SET INDEX TO I1CiaAse
SEEK cClaveCia
IF .NOT. EOF()
cCiaAseg:=CiaAseg->Nombre
END IF
aDatos:={cRefe,cNumSini,cNumPoliza,fFeSini,;
fFeNotif,fFeVisita,cNota,cNumPoliza,cCiaAseg,;
cRamo,cNombre,cDomicilio,cPoblacion,cTelefono,cCondi,;
cSuperficie, cAntig}
End If
SELE 2
SET INDEX TO I1Poliza
SELE 1
INDEX ON Siniestr->NumPoliza TO I2Sini DESCENDING
INDEX ON Siniestr->NumSini TO I3Sini
INDEX ON Siniestr->NumControl TO I1Sini DESCENDING
SET INDEX TO I1Sini, I2Sini,I3Sini
SET RELATION TO NumPoliza INTO Polizas
oBrw:UpStable()
oBrw:Refresh()
Return nil
//-------------------------------------------------------//
Saludos. Fernando