SCHEMA smarmotech DEFINE usuarios, clave STRING DEFINE pcompanias RECORD LIKE companias.* DEFINE fechas RECORD fech_inicial DATE, fech_final DATE END RECORD DEFINE parametros RECORD estado STRING, cod_n, cod_grupo, cod_tipo, cod_sec INT END RECORD DEFINE data DYNAMIC ARRAY OF RECORD orden INT, estado STRING, cotizacion STRING, -- ? ahora STRING cliente STRING, email STRING, vendedor STRING, emailVendedor STRING, celular_vendedor STRING, parentId STRING, childId STRING END RECORD DEFINE criterio STRING MAIN CALL ARG_VAL(1) RETURNING usuarios CALL ARG_VAL(2) RETURNING clave CONNECT TO "smarmotech" USER usuarios USING clave SELECT * INTO pcompanias.* FROM companias CALL estado_ordenes() END MAIN FUNCTION estado_ordenes() OPEN WINDOW w1 WITH FORM "estado_ordenes" CALL ui.Interface.LoadStyles("mbsStyle") CALL initConditions() CALL consulta() DIALOG ATTRIBUTE(UNBUFFERED) DISPLAY ARRAY data TO s_tree.* ON ACTION consultar ATTRIBUTES(TEXT = "Consultar", IMAGE = "mag") CALL initConditions() CALL consulta() ON ACTION salir ATTRIBUTES(TEXT = "Salir", IMAGE = "fa-power-off") EXIT PROGRAM END DISPLAY END DIALOG CLOSE WINDOW w1 END FUNCTION FUNCTION initConditions() INITIALIZE fechas.* TO NULL CLEAR FORM DIALOG ATTRIBUTE(UNBUFFERED) INPUT BY NAME fechas.* ATTRIBUTES(WITHOUT DEFAULTS) BEFORE INPUT LET fechas.fech_inicial = NULL LET fechas.fech_final = TODAY AFTER INPUT IF fechas.fech_inicial IS NULL THEN CALL msg(16) NEXT FIELD fech_inicial END IF IF fechas.fech_final IS NULL THEN CALL msg(16) NEXT FIELD fech_final END IF IF fechas.fech_inicial > fechas.fech_final THEN CALL msg(86) NEXT FIELD fech_inicial END IF CONSTRUCT criterio ON estado, clase, grupo, tipo, medida FROM estado1, cod_n, cod_grupo, cod_tipo, cod_sec END INPUT END DIALOG END FUNCTION