Me esta marcado en el siguiente error con el DataSource TWebDataSource. en mi poco conocimiento parece ser que es solo en las consultas que lleva un alias
Quote:
Subsistema: BASE
Código de error: 1123.000
Estado: .F.
Descripción: Error de argumento
Operación: HB_ATOKENS
Argumentos: [ 1] = Tipo: U Valor: NIL [ 2] = Tipo: C Valor: ,
Fichero:
Código error SO: 0.000
Pila de llamadas:
HB_ATOKENS (0)
TWEBDATASOURCE:XMLTAG (528)
TWEBRECORDS:OPEN (73)
TSQLQUERY:OPEN (318)
(b)XDATASET (36)
TSQLQUERY:_LOPEN (0)
TFORMAJUSTES:BRWAJUSTESCHANGE (234)
//---------------------------------------------------------------
---------------
// ESTE ES EL METOD DONDE MARCA EL ERROR Y LE PUSE VARIAS
// VALIDACIONES PENSANDO QUE FUERA ERROR DE LA FORMA QUE ESTA
// FORMADA.
METHOD BrwAjustesChange( oSender, lBookMarkChanged ) CLASS TFormAjustes
LOCAL cFolioAjuste
IF lBookMarkChanged
IF ::oSQLAjustes != NIL
IF ::oSQLAjustes:RecCount() > 0
cFolioAjuste:= ::oSQLAjustes:folio_ajuste
IF !Empty( cFolioAjuste )
::oSQLDetalle:Close()
WITH OBJECT ::oSQLDetalle
:oDataSource:= AppData:oMySqlDSMain
:cSelect := "SELECT detalle.*,items.nombre "+;
"FROM det_ajustes AS detalle " + ;
"LEFT JOIN articulos AS items ON detalle.id_item = items.id_item " + ;
"WHERE detalle.id_empresa='" + AppData:cIDCompany + "'" + ;
" AND detalle.folio_ajuste='" + ::oSQLAjustes:folio_ajuste + "'"
IF !:lOpen
:lOpen:= .T. // ESTA LINEA ES EL ERROR
IF !:lOpen
MsgStop( "ERROR: No es posible abrir el archivo detalle de ajustes", "Error de conexion.." )
::Close()
RETURN NIL
ENDIF
ENDIF
END
::oBrwDetalle:Refresh()
ENDIF
ENDIF
ENDIF
ENDIF
RETURN Nil
UN SALUDO
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Error en TWebDataSource
- ignacio
- Site Admin
- Mensajes: 9452
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Error en TWebDataSource
Buenos días,
Compruebe que la select es correcta desde cualquier administrador de MYSQL.
Saludos
Compruebe que la select es correcta desde cualquier administrador de MYSQL.
Saludos
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Error en TWebDataSource
Ignacion Gracias por responder
Sustituyendo los valores y usando HEIDI SQL
SELECT detalle.*,items.nombre FROM det_ajustes AS detalle LEFT JOIN articulos AS items
ON detalle.id_item = items.id_item WHERE detalle.id_empresa='SUC-F' AND detalle.folio_ajuste='0000000198'
La consulta es correcta
De Hecho mi sistema funciona al 100% usando TMySQLDataSource. Usando el mismo codigo y solo cambiando el DataSource por el de TWebDataSource. es que me marca el error comentado.
Un Saludo
GABO
Sustituyendo los valores y usando HEIDI SQL
SELECT detalle.*,items.nombre FROM det_ajustes AS detalle LEFT JOIN articulos AS items
ON detalle.id_item = items.id_item WHERE detalle.id_empresa='SUC-F' AND detalle.folio_ajuste='0000000198'
La consulta es correcta
De Hecho mi sistema funciona al 100% usando TMySQLDataSource. Usando el mismo codigo y solo cambiando el DataSource por el de TWebDataSource. es que me marca el error comentado.
Un Saludo
GABO
- ignacio
- Site Admin
- Mensajes: 9452
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Error en TWebDataSource
Acabo de modificar el ejemplo WebDataSource para que haga la siguiente consulta:
select C.idCliente as CL, C.NombreContacto as NC, C.CargoContacto as CC FROM Clientes AS C
Y ha funcionado perfectamente.
Attached files
select C.idCliente as CL, C.NombreContacto as NC, C.CargoContacto as CC FROM Clientes AS C
Y ha funcionado perfectamente.
Attached files
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Error en TWebDataSource
Ignacio
Sigo haciendo pruebas y los errores me los marca cuando las consulta son del tipo que te comento. cuando las consultas son "normales" sin el uso de LEFT JOIN funciona bien al 100. Aqui otra consulta que me causa el mismo error
WITH OBJECT ::oSQLDetalle
:cSelect:= "SELECT detalle.*,item.id_marca,item.id_linea,item.id_depto,item.nombre FROM det_ventas AS detalle "+;
"LEFT JOIN articulos AS item ON item.id_item=detalle.id_item " + ;
"WHERE detalle.id_empresa='" + AppData:cIDCompany + "' AND " + ;
"detalle.id_caja='" + AllTrim(::oCbxEstacion:cText) + "' AND " + ;
"detalle.fecha_venta='" + DToS( ::oFecha:Value ) + "' ORDER BY detalle.id_item"
:oDataSource:= AppData:oMySqlDSMain
IF :lOpen
:Close()
ENDIF
IF !:lOpen
:lOpen:= .T.
IF !:lOpen
WaitOff()
MsgStop( "ERROR: No es posible abrir archivo de ventas", "Error de conexion.." )
RETURN NIL
ENDIF
ENDIF
END WITH
Las consultas de este tipo funcionan al 100
WITH OBJECT ::oSQLVentas
:cSelect:= "SELECT * FROM mov_ventas "+;
"WHERE id_empresa='" + AppData:cIDCompany + "' AND " + ;
"id_caja='" + AllTrim(::oCbxEstacion:cText) + "' AND " + ;
"id_turno='" + AllTrim(::oTurno:Value) + "' AND " + ;
"fecha_venta='" + DToS( ::oFecha:Value ) + "' ORDER BY folio_ventas"
:oDataSource:= AppData:oMySqlDSMain
IF :lOpen
:Close()
ENDIF
IF !:lOpen
:lOpen:= .T.
IF !:lOpen
WaitOff()
MsgStop( "ERROR: No es posible abrir archivo de ventas", "Error de conexion.." )
RETURN NIL
ENDIF
ENDIF
END WITH
Un Saludo
Sigo haciendo pruebas y los errores me los marca cuando las consulta son del tipo que te comento. cuando las consultas son "normales" sin el uso de LEFT JOIN funciona bien al 100. Aqui otra consulta que me causa el mismo error
WITH OBJECT ::oSQLDetalle
:cSelect:= "SELECT detalle.*,item.id_marca,item.id_linea,item.id_depto,item.nombre FROM det_ventas AS detalle "+;
"LEFT JOIN articulos AS item ON item.id_item=detalle.id_item " + ;
"WHERE detalle.id_empresa='" + AppData:cIDCompany + "' AND " + ;
"detalle.id_caja='" + AllTrim(::oCbxEstacion:cText) + "' AND " + ;
"detalle.fecha_venta='" + DToS( ::oFecha:Value ) + "' ORDER BY detalle.id_item"
:oDataSource:= AppData:oMySqlDSMain
IF :lOpen
:Close()
ENDIF
IF !:lOpen
:lOpen:= .T.
IF !:lOpen
WaitOff()
MsgStop( "ERROR: No es posible abrir archivo de ventas", "Error de conexion.." )
RETURN NIL
ENDIF
ENDIF
END WITH
Las consultas de este tipo funcionan al 100
WITH OBJECT ::oSQLVentas
:cSelect:= "SELECT * FROM mov_ventas "+;
"WHERE id_empresa='" + AppData:cIDCompany + "' AND " + ;
"id_caja='" + AllTrim(::oCbxEstacion:cText) + "' AND " + ;
"id_turno='" + AllTrim(::oTurno:Value) + "' AND " + ;
"fecha_venta='" + DToS( ::oFecha:Value ) + "' ORDER BY folio_ventas"
:oDataSource:= AppData:oMySqlDSMain
IF :lOpen
:Close()
ENDIF
IF !:lOpen
:lOpen:= .T.
IF !:lOpen
WaitOff()
MsgStop( "ERROR: No es posible abrir archivo de ventas", "Error de conexion.." )
RETURN NIL
ENDIF
ENDIF
END WITH
Un Saludo