cAliasAlias abierto para la query; si no existe provoca error fatal.
Guía AdvPLTCSetField( <cAlias>, <cField>, <cType>, [nSize], [nPrecision] )Ajusta el tipo, tamaño y precisión de una columna retornada por una query de DBAccess.
Las consultas abiertas mediante TCGenQry() retornan campos numéricos como 15,8 y tratan los demás como caracteres. TCSetField() redefine cómo el alias expone fechas, lógicos y numéricos. Es especialmente útil para fechas del ERP almacenadas como CHAR o VARCHAR en formato AAAAMMDD. Cambia la definición lógica del cursor, no los datos ni la tabla física.
TCSetField( <cAlias>, <cField>, <cType>, [nSize], [nPrecision] )cAliasAlias abierto para la query; si no existe provoca error fatal.
cFieldColumna del cursor que será redefinida.
cTypeTipo AdvPL: D, N o L.
nSizeDígitos totales para N, entre 1 y 18.
Predeterminado:0nPrecisionDecimales para N, entre 0 y nSize - 1.
Predeterminado:0La documentación no define un retorno para la aplicación. El efecto relevante es el tratamiento actualizado de la columna.
#Include "TOTVS.ch"
#Include "TopConn.ch"
User Function ExTiposConsulta()
Local cAlias := GetNextAlias()
Local cQuery := ""
Local dFechaEmision
Local lActivo
Local nImporte
cQuery := " SELECT C5_EMISSAO, C5_TIPO, C5_VALOR "
cQuery += " FROM " + RetSqlName("SC5")
cQuery += " WHERE D_E_L_E_T_ = '' "
cQuery := ChangeQuery(cQuery)
DbUseArea(.T., "TOPCONN", TCGenQry(,,cQuery), cAlias, .F., .T.)
TCSetField(cAlias, "C5_EMISSAO", "D")
TCSetField(cAlias, "C5_TIPO", "L")
TCSetField(cAlias, "C5_VALOR", "N", 15, 2)
dFechaEmision := (cAlias)->C5_EMISSAO
lActivo := (cAlias)->C5_TIPO
nImporte := (cAlias)->C5_VALOR
(cAlias)->(DbCloseArea())
Return {dFechaEmision, lActivo, nImporte}Las columnas se leen con los tipos configurados. Valida los campos y el contenido lógico reales.
Local aEstructura := CT2->(DBStruct())
Local nCampo
For nCampo := 1 To Len(aEstructura)
If aEstructura[nCampo, 2] $ "DNL"
TCSetField("CT2TMP", aEstructura[nCampo, 1], ;
aEstructura[nCampo, 2], aEstructura[nCampo, 3], ;
aEstructura[nCampo, 4])
EndIf
Next nCampoLos campos D, N y L orientan las columnas equivalentes del cursor.
© 2026 Usina.BR. Todos los derechos reservados. TOTVS, Protheus, Microsiga y sus respectivos logotipos son marcas de sus titulares. Guía AdvPL es independiente y utiliza citas limitadas, atribuidas y justificadas por fines educativos. Consulta los Términos de Uso. Términos de Uso