Cuando ejecuto el Sistema en una m谩quina que tiene Windows 10 con el MySql instalado con la aplicaci贸n XAMPP no me arroja error, pero cuando lo ejecuto en un Servidor que tiene Windows Server 2008 me arroja el error de clave duplicada.
A continuaci贸n pongo el c贸digo:
PROCEDURE EditDeu(lAppend)
聽 聽Local vCod:=0, lSave:=.F., oCDeu, oLoca, oProvi, oCodPos, oTele
聽 聽Public cNomDeu :=Space(30), nNumDoc :=0
聽 聽If lAppend
聽 聽 聽 oQryDeu:GetBlankRow(.F.)
聽 聽 Else
聽 聽 聽 oQryDeu:GetRow()
聽 聽EndIf
聽 聽DEFINE DIALOG UDlgE RESOURCE "DATOSDEUDOR" ;
聽 聽 聽 TITLE If( lAppend, "AGREGAR DEUDOR", "MODIFICAR DEUDOR" )
聽 聽REDEFINE SAY oCDeu VAR oQryDeu:Codigo 聽ID 21 OF UDlgE
聽 聽REDEFINE DBCOMBO oTipoDoc VAR oQryDeu:TipoDoc ID 22 OF UDlgE ;
聽 聽 聽 聽 聽 聽 聽 聽 ALIAS oQryDocu ITEMFIELD "coddocu" LISTFIELD "nomdocu" ;
聽 聽 聽 聽 聽 聽 聽 聽 UPDATE
聽 聽REDEFINE GET oQryDeu:NroDoc 聽 ID 23 OF UDlgE picture '999,999,999'
聽 聽REDEFINE DBCOMBO oTipoIva 聽VAR oQryDeu:t_cuit ID 4003 OF UDlgE ;
聽 聽 聽 聽 聽 聽 聽 聽 ALIAS oQryIva ITEMFIELD "codiva" LISTFIELD "nomiva" ;
聽 聽 聽 聽 聽 聽 聽 聽 UPDATE
聽 聽REDEFINE GET oQryDeu:n_cuit 聽 ID 4005 OF UDlgE picture '99-99999999-9'
聽 聽REDEFINE DBCOMBO oTipoCiv VAR oQryDeu:esta_civil ID 4006 OF UDlgE ;
聽 聽 聽 聽 聽 聽 聽 聽 ALIAS oQryCivil ITEMFIELD "codcivil" LISTFIELD "nomcivil" ;
聽 聽 聽 聽 聽 聽 聽 聽 UPDATE
聽 聽REDEFINE GET oQryDeu:Nombres 聽ID 32 OF UDlgE picture '@!' //;
// 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 VALID BusNom(lAppend,oQryDeu:Nombres,oQryDeu:NroDoc)
聽 聽REDEFINE GET oQryDeu:Direc 聽 聽ID 25 OF UDlgE picture '@!'
聽 聽REDEFINE DBCOMBO oBarru VAR oQryDeu:CodBarr ID 26 OF UDlgE ;
聽 聽 聽 聽 聽 聽 ALIAS oQryBarr ITEMFIELD "ccodigo" LISTFIELD "nombre" ;
聽 聽 聽 聽 聽 聽 ON CHANGE (ActuBarrio(3,oQryDeu:CodBarr), oLoca:Refresh(), oProvi:Refresh(), oCodPos:Refresh()) ;
聽 聽 聽 聽 聽 聽 UPDATE
聽 聽REDEFINE GET oLoca 聽 VAR 聽oQryDeu:Locali 聽 ID 27 OF UDlgE picture '@!'
聽 聽REDEFINE GET oProvi 聽VAR 聽oQryDeu:Provi 聽 聽ID 28 OF UDlgE picture '@!'
聽 聽REDEFINE GET oCodPos VAR 聽oQryDeu:CodPos 聽 ID 30 OF UDlgE
聽 聽REDEFINE GET oTele 聽 VAR 聽oQryDeu:Telefono ID 31 OF UDlgE
聽 聽REDEFINE GET oQryDeu:Trabaja 聽ID 36 OF UDlgE
聽 聽REDEFINE GET oQryDeu:Ocupa 聽 聽ID 34 OF UDlgE
聽 聽REDEFINE GET oQryDeu:Ult_Act 聽ID 33 OF UDlgE
聽 聽REDEFINE GET oQryDeu:Obser 聽 聽ID 35 OF UDlgE
聽 聽REDEFINE GET oQryDeu:email 聽 聽ID 4002 OF UDlgE
聽 聽REDEFINE BTNBMP oBtnA ID 250 OF UDlgE MESSAGE "Graba el Deudor..." ;
聽 聽 聽 聽 FILE "./BmpN/Grabar_24.PNG" PROMPT "Grabar" LEFT ;
聽 聽 聽 聽 聽 聽 ACTION (MsgAlert(oQryDeu:Nombres),lSave:=.T., UDlgE:End());
聽 聽REDEFINE BTNBMP oBtnC ID 240 OF UDlgE MESSAGE "Cancela el Movimiento..." ;
聽 聽 聽 聽 FILE "./BmpN/Cancelar.bmp" PROMPT "Cancelar" LEFT ;
聽 聽 聽 聽 聽 聽 聽 聽ACTION UDlgE:End()
聽 聽ACTIVATE DIALOG UDlgE CENTERED
聽 聽MsgAlert(oQryDeu:Nombres)
聽 聽If lAppend
聽 聽 聽 If !lCargaDeu
聽 聽 聽 聽 聽MsgAlert("Usuario no Autorizado para cargar Deudores...!")
聽 聽 聽 聽 聽lSave:=.F.
聽 聽 聽 EndIf
聽 聽 聽Else
聽 聽 聽 If !lModiDeu
聽 聽 聽 聽 聽MsgAlert("Usuario no Autorizado para Modificar Deudores...!")
聽 聽 聽 聽 聽lSave:=.F.
聽 聽 聽 EndIf
聽 聽EndIf
聽 聽If lSave
聽 聽 聽If lAppend
聽 聽 聽 聽 聽oQryDeu:lAppend := .T.
聽 聽 聽 EndIf
聽 聽 聽 oQryDeu:Save()
聽 聽 聽 oQryDeu:Refresh()
聽 聽EndIf
Return NilPuse dos MsgAlert para ver la secuencia y en el primero me muestra El nombre de quien quiero dar de alta pero en el segundo me muestra el nombre del primer registro de la tabla, es como que cuando saliera del dialogo se ubicara al comienzo de la tabla.
Lo mas extra帽o es que con otras tablas funciona bien, por ejemplo el siguiente c贸digo
PROCEDURE EditEsta(lAppend)
Local oEstaDi, oEstaPa, oEstaVi, lSave:=.F.
oQryE2 := oServer:Query( "SELECT codigo, descrip FROM estados ORDER BY codigo ASC" )
DEFINE FONT oFont30 NAME "Times New Roman" SIZE 0,-30 BOLD
DEFINE FONT oFont20 NAME "Times New Roman" SIZE 0,-20 BOLD
DEFINE FONT oFont14 NAME "Times New Roman" SIZE 0,-14 BOLD
If lAppend
oQryEsta:GetBlankRow(.F.)
Else
oQryEsta:GetRow()
EndIf
DEFINE DIALOG UDlgE RESOURCE "DATOSESTA" ;
TITLE If( lAppend, "AGREGAR ESTADO", "MODIFICAR ESTADO" )
REDEFINE GET oQryEsta:Codigo ID 100 OF UDlgE picture '999' COLOR "N/W" FONT oFont20
REDEFINE GET oQryEsta:Descrip ID 101 OF UDlgE picture '@!' COLOR "N/W" FONT oFont20
REDEFINE RADIO oTipoEsta VAR oQryEsta:TEstado ID 102, 103 OF UDlgE
REDEFINE GET oQryEsta:Dia_Movi ID 104 OF UDlgE picture '999'
REDEFINE DBCOMBO oEstaDi VAR oQryEsta:Codigo_D ID 105 OF UDlgE ;
ALIAS oQryE2 ITEMFIELD "codigo" LISTFIELD "descrip"
REDEFINE DBCOMBO oEstaPa VAR oQryEsta:Codigo_P ID 106 OF UDlgE ;
ALIAS oQryE2 ITEMFIELD "codigo" LISTFIELD "descrip"
REDEFINE DBCOMBO oEstaVi VAR oQryEsta:Codigo_V ID 107 OF UDlgE ;
ALIAS oQryE2 ITEMFIELD "codigo" LISTFIELD "descrip"
REDEFINE BTNBMP oBtnA ID 250 OF UDlgE MESSAGE "Graba el Deudor..." ;
FILE "./BmpN/Grabar_24.PNG" PROMPT "Grabar" LEFT ;
ACTION (lSave:=.T., UDlgE:End());
REDEFINE BTNBMP oBtnC ID 240 OF UDlgE MESSAGE "Cancela el Movimiento..." ;
FILE "./BmpN/Cancelar.bmp" PROMPT "Cancelar" LEFT ;
ACTION UDlgE:End()
ACTIVATE DIALOG UDlgE CENTERED
If lSave
If lAppend
oQryEsta:lAppend := .T.
EndIf
oQryEsta:Save()
oQryEsta:Refresh()
EndIf
oQryE2:End()
oFont30:End()
oFont20:End()
oFont14:End()
Return Nilfunciona bien, muy raro el error....