FrameAppWS

<back to all web services

ConsultaDatosDetalleRQ

Requires Authentication
The following routes are available for this service:
All Verbs/Utilidades/Formas/DatosDetalle
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

enum Lenguajes
{
    ES,
    PT,
    EN,
}

class gridSortOptions implements IConvertible
{
    String? selector;
    bool? desc;

    gridSortOptions({this.selector,this.desc});
    gridSortOptions.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        selector = json['selector'];
        desc = json['desc'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'selector': selector,
        'desc': desc
    };

    getTypeName() => "gridSortOptions";
    TypeContext? context = _ctx;
}

class gridGroupOptions implements IConvertible
{
    String? selector;
    bool? desc;
    bool? isExpanded;

    gridGroupOptions({this.selector,this.desc,this.isExpanded});
    gridGroupOptions.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        selector = json['selector'];
        desc = json['desc'];
        isExpanded = json['isExpanded'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'selector': selector,
        'desc': desc,
        'isExpanded': isExpanded
    };

    getTypeName() => "gridGroupOptions";
    TypeContext? context = _ctx;
}

class ConsultaDatosDetalleRQ implements IConvertible
{
    int? Forma;
    int? Detalle;
    Map<String,dynamic?>? LlaveMaestro;
    Lenguajes? Lenguaje;
    int? RecordSkip;
    int? RecordTake;
    List<dynamic>? Filter;
    gridSortOptions? Sort;
    gridGroupOptions? Group;
    List<gridSummaryOptions>? SummaryGroupItems;
    List<gridSummaryOptions>? SummaryTotalItems;

    ConsultaDatosDetalleRQ({this.Forma,this.Detalle,this.LlaveMaestro,this.Lenguaje,this.RecordSkip,this.RecordTake,this.Filter,this.Sort,this.Group,this.SummaryGroupItems,this.SummaryTotalItems});
    ConsultaDatosDetalleRQ.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Forma = json['Forma'];
        Detalle = json['Detalle'];
        LlaveMaestro = JsonConverters.fromJson(json['LlaveMaestro'],'Map<String,dynamic?>',context!);
        Lenguaje = JsonConverters.fromJson(json['Lenguaje'],'Lenguajes',context!);
        RecordSkip = json['RecordSkip'];
        RecordTake = json['RecordTake'];
        Filter = JsonConverters.fromJson(json['Filter'],'List<dynamic>',context!);
        Sort = JsonConverters.fromJson(json['Sort'],'gridSortOptions',context!);
        Group = JsonConverters.fromJson(json['Group'],'gridGroupOptions',context!);
        SummaryGroupItems = JsonConverters.fromJson(json['SummaryGroupItems'],'List<gridSummaryOptions>',context!);
        SummaryTotalItems = JsonConverters.fromJson(json['SummaryTotalItems'],'List<gridSummaryOptions>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Forma': Forma,
        'Detalle': Detalle,
        'LlaveMaestro': JsonConverters.toJson(LlaveMaestro,'Map<String,dynamic?>',context!),
        'Lenguaje': JsonConverters.toJson(Lenguaje,'Lenguajes',context!),
        'RecordSkip': RecordSkip,
        'RecordTake': RecordTake,
        'Filter': JsonConverters.toJson(Filter,'List<dynamic>',context!),
        'Sort': JsonConverters.toJson(Sort,'gridSortOptions',context!),
        'Group': JsonConverters.toJson(Group,'gridGroupOptions',context!),
        'SummaryGroupItems': JsonConverters.toJson(SummaryGroupItems,'List<gridSummaryOptions>',context!),
        'SummaryTotalItems': JsonConverters.toJson(SummaryTotalItems,'List<gridSummaryOptions>',context!)
    };

    getTypeName() => "ConsultaDatosDetalleRQ";
    TypeContext? context = _ctx;
}

class gridSummaryOptions implements IConvertible
{
    String? selector;
    String? summaryType;

    gridSummaryOptions({this.selector,this.summaryType});
    gridSummaryOptions.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        selector = json['selector'];
        summaryType = json['summaryType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'selector': selector,
        'summaryType': summaryType
    };

    getTypeName() => "gridSummaryOptions";
    TypeContext? context = _ctx;
}

// @DataContract
class Tabla implements IConvertible
{
    // @DataMember
    double? Codigo;

    // @DataMember
    String? Propietario;

    // @DataMember
    String? Tipo;

    // @DataMember
    String? Nombre;

    // @DataMember
    String? Alias;

    // @DataMember
    String? Descripcion;

    // @DataMember
    String? ParaReportes;

    // @DataMember
    String? CrearAlIniciar;

    // @DataMember
    int? CampoEmpresa;

    // @DataMember
    int? CampoUnico;

    Tabla({this.Codigo,this.Propietario,this.Tipo,this.Nombre,this.Alias,this.Descripcion,this.ParaReportes,this.CrearAlIniciar,this.CampoEmpresa,this.CampoUnico});
    Tabla.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Codigo = JsonConverters.toDouble(json['Codigo']);
        Propietario = json['Propietario'];
        Tipo = json['Tipo'];
        Nombre = json['Nombre'];
        Alias = json['Alias'];
        Descripcion = json['Descripcion'];
        ParaReportes = json['ParaReportes'];
        CrearAlIniciar = json['CrearAlIniciar'];
        CampoEmpresa = json['CampoEmpresa'];
        CampoUnico = json['CampoUnico'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Codigo': Codigo,
        'Propietario': Propietario,
        'Tipo': Tipo,
        'Nombre': Nombre,
        'Alias': Alias,
        'Descripcion': Descripcion,
        'ParaReportes': ParaReportes,
        'CrearAlIniciar': CrearAlIniciar,
        'CampoEmpresa': CampoEmpresa,
        'CampoUnico': CampoUnico
    };

    getTypeName() => "Tabla";
    TypeContext? context = _ctx;
}

// @DataContract
class Columna implements IConvertible
{
    // @DataMember
    double? CodigoTabla;

    // @DataMember
    double? Codigo;

    // @DataMember
    String? Nombre;

    // @DataMember
    String? Alias;

    // @DataMember
    String? Descripcion;

    // @DataMember
    String? TipoDato;

    // @DataMember
    String? ObligatorioFormas;

    // @DataMember
    String? Hint;

    // @DataMember
    String? Mayuscula;

    // @DataMember
    int? Tamano;

    // @DataMember
    int? Escala;

    // @DataMember
    String? Tipo;

    // @DataMember
    String? VlrDefecto;

    // @DataMember
    String? PermiteEditar;

    // @DataMember
    int? Orden;

    // @DataMember
    String? Dinamico;

    // @DataMember
    String? ClaseControl;

    // @DataMember
    double? JoinLookup;

    // @DataMember
    String? EsID;

    // @DataMember
    String? Mascara;

    // @DataMember
    String? MostrarEnLista;

    // @DataMember
    String? InfoAdicional;

    // @DataMember
    String? WHEREDefecto;

    // @DataMember
    String? TieneResumen;

    // @DataMember
    String? FormatoResumen;

    // @DataMember
    String? TipoResumen;

    // @DataMember
    String? PosicionResumen;

    // @DataMember
    String? ResumenEnGrupo;

    // @DataMember
    String? ResumenEnTotal;

    // @DataMember
    int? IndiceGrupo;

    Columna({this.CodigoTabla,this.Codigo,this.Nombre,this.Alias,this.Descripcion,this.TipoDato,this.ObligatorioFormas,this.Hint,this.Mayuscula,this.Tamano,this.Escala,this.Tipo,this.VlrDefecto,this.PermiteEditar,this.Orden,this.Dinamico,this.ClaseControl,this.JoinLookup,this.EsID,this.Mascara,this.MostrarEnLista,this.InfoAdicional,this.WHEREDefecto,this.TieneResumen,this.FormatoResumen,this.TipoResumen,this.PosicionResumen,this.ResumenEnGrupo,this.ResumenEnTotal,this.IndiceGrupo});
    Columna.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CodigoTabla = JsonConverters.toDouble(json['CodigoTabla']);
        Codigo = JsonConverters.toDouble(json['Codigo']);
        Nombre = json['Nombre'];
        Alias = json['Alias'];
        Descripcion = json['Descripcion'];
        TipoDato = json['TipoDato'];
        ObligatorioFormas = json['ObligatorioFormas'];
        Hint = json['Hint'];
        Mayuscula = json['Mayuscula'];
        Tamano = json['Tamano'];
        Escala = json['Escala'];
        Tipo = json['Tipo'];
        VlrDefecto = json['VlrDefecto'];
        PermiteEditar = json['PermiteEditar'];
        Orden = json['Orden'];
        Dinamico = json['Dinamico'];
        ClaseControl = json['ClaseControl'];
        JoinLookup = JsonConverters.toDouble(json['JoinLookup']);
        EsID = json['EsID'];
        Mascara = json['Mascara'];
        MostrarEnLista = json['MostrarEnLista'];
        InfoAdicional = json['InfoAdicional'];
        WHEREDefecto = json['WHEREDefecto'];
        TieneResumen = json['TieneResumen'];
        FormatoResumen = json['FormatoResumen'];
        TipoResumen = json['TipoResumen'];
        PosicionResumen = json['PosicionResumen'];
        ResumenEnGrupo = json['ResumenEnGrupo'];
        ResumenEnTotal = json['ResumenEnTotal'];
        IndiceGrupo = json['IndiceGrupo'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CodigoTabla': CodigoTabla,
        'Codigo': Codigo,
        'Nombre': Nombre,
        'Alias': Alias,
        'Descripcion': Descripcion,
        'TipoDato': TipoDato,
        'ObligatorioFormas': ObligatorioFormas,
        'Hint': Hint,
        'Mayuscula': Mayuscula,
        'Tamano': Tamano,
        'Escala': Escala,
        'Tipo': Tipo,
        'VlrDefecto': VlrDefecto,
        'PermiteEditar': PermiteEditar,
        'Orden': Orden,
        'Dinamico': Dinamico,
        'ClaseControl': ClaseControl,
        'JoinLookup': JoinLookup,
        'EsID': EsID,
        'Mascara': Mascara,
        'MostrarEnLista': MostrarEnLista,
        'InfoAdicional': InfoAdicional,
        'WHEREDefecto': WHEREDefecto,
        'TieneResumen': TieneResumen,
        'FormatoResumen': FormatoResumen,
        'TipoResumen': TipoResumen,
        'PosicionResumen': PosicionResumen,
        'ResumenEnGrupo': ResumenEnGrupo,
        'ResumenEnTotal': ResumenEnTotal,
        'IndiceGrupo': IndiceGrupo
    };

    getTypeName() => "Columna";
    TypeContext? context = _ctx;
}

// @DataContract
class Vista implements IConvertible
{
    // @DataMember
    double? Codigo;

    // @DataMember
    double? CodigoBlob;

    // @DataMember
    String? Nombre;

    // @DataMember
    String? Descripcion;

    // @DataMember
    String? SQL;

    // @DataMember
    double? CodigoTabla;

    // @DataMember
    String? GuardarBinario;

    // @DataMember
    String? TipoConsulta;

    // @DataMember
    String? ExportacionDefault;

    // @DataMember
    String? TipoExportacion;

    // @DataMember
    int? ParametrosExportacion;

    // @DataMember
    String? CodigoAyuda;

    // @DataMember
    String? EjecutarEnAdm;

    // @DataMember
    String? InfoAdicional;

    // @DataMember
    String? EjecMultiempresa;

    Vista({this.Codigo,this.CodigoBlob,this.Nombre,this.Descripcion,this.SQL,this.CodigoTabla,this.GuardarBinario,this.TipoConsulta,this.ExportacionDefault,this.TipoExportacion,this.ParametrosExportacion,this.CodigoAyuda,this.EjecutarEnAdm,this.InfoAdicional,this.EjecMultiempresa});
    Vista.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Codigo = JsonConverters.toDouble(json['Codigo']);
        CodigoBlob = JsonConverters.toDouble(json['CodigoBlob']);
        Nombre = json['Nombre'];
        Descripcion = json['Descripcion'];
        SQL = json['SQL'];
        CodigoTabla = JsonConverters.toDouble(json['CodigoTabla']);
        GuardarBinario = json['GuardarBinario'];
        TipoConsulta = json['TipoConsulta'];
        ExportacionDefault = json['ExportacionDefault'];
        TipoExportacion = json['TipoExportacion'];
        ParametrosExportacion = json['ParametrosExportacion'];
        CodigoAyuda = json['CodigoAyuda'];
        EjecutarEnAdm = json['EjecutarEnAdm'];
        InfoAdicional = json['InfoAdicional'];
        EjecMultiempresa = json['EjecMultiempresa'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Codigo': Codigo,
        'CodigoBlob': CodigoBlob,
        'Nombre': Nombre,
        'Descripcion': Descripcion,
        'SQL': SQL,
        'CodigoTabla': CodigoTabla,
        'GuardarBinario': GuardarBinario,
        'TipoConsulta': TipoConsulta,
        'ExportacionDefault': ExportacionDefault,
        'TipoExportacion': TipoExportacion,
        'ParametrosExportacion': ParametrosExportacion,
        'CodigoAyuda': CodigoAyuda,
        'EjecutarEnAdm': EjecutarEnAdm,
        'InfoAdicional': InfoAdicional,
        'EjecMultiempresa': EjecMultiempresa
    };

    getTypeName() => "Vista";
    TypeContext? context = _ctx;
}

class DetalleJoinTabla implements IConvertible
{
    double? Codigo;
    String? CampoAMostrar;
    List<String>? Campos1;
    List<String>? Campos2;
    List<String>? Operadores;
    List<Map<String,dynamic>>? Datos;
    double? CodigoTabla1;
    String? SQL;
    DefinicionTabla? TablaDetalle;
    Vista? Vista;
    String? Version;
    String? Ordenar;

    DetalleJoinTabla({this.Codigo,this.CampoAMostrar,this.Campos1,this.Campos2,this.Operadores,this.Datos,this.CodigoTabla1,this.SQL,this.TablaDetalle,this.Vista,this.Version,this.Ordenar});
    DetalleJoinTabla.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Codigo = JsonConverters.toDouble(json['Codigo']);
        CampoAMostrar = json['CampoAMostrar'];
        Campos1 = JsonConverters.fromJson(json['Campos1'],'List<String>',context!);
        Campos2 = JsonConverters.fromJson(json['Campos2'],'List<String>',context!);
        Operadores = JsonConverters.fromJson(json['Operadores'],'List<String>',context!);
        Datos = JsonConverters.fromJson(json['Datos'],'List<Map<String,dynamic>>',context!);
        CodigoTabla1 = JsonConverters.toDouble(json['CodigoTabla1']);
        SQL = json['SQL'];
        TablaDetalle = JsonConverters.fromJson(json['TablaDetalle'],'DefinicionTabla',context!);
        Vista = JsonConverters.fromJson(json['Vista'],'Vista',context!);
        Version = json['Version'];
        Ordenar = json['Ordenar'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Codigo': Codigo,
        'CampoAMostrar': CampoAMostrar,
        'Campos1': JsonConverters.toJson(Campos1,'List<String>',context!),
        'Campos2': JsonConverters.toJson(Campos2,'List<String>',context!),
        'Operadores': JsonConverters.toJson(Operadores,'List<String>',context!),
        'Datos': JsonConverters.toJson(Datos,'List<Map<String,dynamic>>',context!),
        'CodigoTabla1': CodigoTabla1,
        'SQL': SQL,
        'TablaDetalle': JsonConverters.toJson(TablaDetalle,'DefinicionTabla',context!),
        'Vista': JsonConverters.toJson(Vista,'Vista',context!),
        'Version': Version,
        'Ordenar': Ordenar
    };

    getTypeName() => "DetalleJoinTabla";
    TypeContext? context = _ctx;
}

// @DataContract
class Frame implements IConvertible
{
    // @DataMember
    double? Codigo;

    // @DataMember
    String? SQL;

    // @DataMember
    List<String>? Campos1;

    // @DataMember
    List<String>? Campos2;

    // @DataMember
    DefinicionTabla? TablaFrame;

    Frame({this.Codigo,this.SQL,this.Campos1,this.Campos2,this.TablaFrame});
    Frame.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Codigo = JsonConverters.toDouble(json['Codigo']);
        SQL = json['SQL'];
        Campos1 = JsonConverters.fromJson(json['Campos1'],'List<String>',context!);
        Campos2 = JsonConverters.fromJson(json['Campos2'],'List<String>',context!);
        TablaFrame = JsonConverters.fromJson(json['TablaFrame'],'DefinicionTabla',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Codigo': Codigo,
        'SQL': SQL,
        'Campos1': JsonConverters.toJson(Campos1,'List<String>',context!),
        'Campos2': JsonConverters.toJson(Campos2,'List<String>',context!),
        'TablaFrame': JsonConverters.toJson(TablaFrame,'DefinicionTabla',context!)
    };

    getTypeName() => "Frame";
    TypeContext? context = _ctx;
}

// @DataContract
class DetalleIndices implements IConvertible
{
    // @DataMember
    double? CodigoTabla;

    // @DataMember
    String? NombreIndice;

    // @DataMember
    double? CodigoColumna;

    // @DataMember
    String? TipoCalculo;

    // @DataMember
    String? Secuencia;

    // @DataMember
    String? NombreColumna;

    DetalleIndices({this.CodigoTabla,this.NombreIndice,this.CodigoColumna,this.TipoCalculo,this.Secuencia,this.NombreColumna});
    DetalleIndices.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CodigoTabla = JsonConverters.toDouble(json['CodigoTabla']);
        NombreIndice = json['NombreIndice'];
        CodigoColumna = JsonConverters.toDouble(json['CodigoColumna']);
        TipoCalculo = json['TipoCalculo'];
        Secuencia = json['Secuencia'];
        NombreColumna = json['NombreColumna'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CodigoTabla': CodigoTabla,
        'NombreIndice': NombreIndice,
        'CodigoColumna': CodigoColumna,
        'TipoCalculo': TipoCalculo,
        'Secuencia': Secuencia,
        'NombreColumna': NombreColumna
    };

    getTypeName() => "DetalleIndices";
    TypeContext? context = _ctx;
}

class ColCountByScreen implements IConvertible
{
    int? lg;
    int? md;
    int? sm;
    int? xs;

    ColCountByScreen({this.lg,this.md,this.sm,this.xs});
    ColCountByScreen.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        lg = json['lg'];
        md = json['md'];
        sm = json['sm'];
        xs = json['xs'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'lg': lg,
        'md': md,
        'sm': sm,
        'xs': xs
    };

    getTypeName() => "ColCountByScreen";
    TypeContext? context = _ctx;
}

enum ItemTypeForm
{
    simple,
    group,
    tabbed,
    empty,
}

class EmptyItemForm implements IConvertible
{
    ItemTypeForm? itemType;
    int? visibleIndex;

    EmptyItemForm({this.itemType,this.visibleIndex});
    EmptyItemForm.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        itemType = JsonConverters.fromJson(json['itemType'],'ItemTypeForm',context!);
        visibleIndex = json['visibleIndex'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'itemType': JsonConverters.toJson(itemType,'ItemTypeForm',context!),
        'visibleIndex': visibleIndex
    };

    getTypeName() => "EmptyItemForm";
    TypeContext? context = _ctx;
}

class dxForm implements IConvertible
{
    ColCountByScreen? colCountByScreen;
    String? labelLocation;
    bool? readOnly;
    List<EmptyItemForm>? items;

    dxForm({this.colCountByScreen,this.labelLocation,this.readOnly,this.items});
    dxForm.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        colCountByScreen = JsonConverters.fromJson(json['colCountByScreen'],'ColCountByScreen',context!);
        labelLocation = json['labelLocation'];
        readOnly = json['readOnly'];
        items = JsonConverters.fromJson(json['items'],'List<EmptyItemForm>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'colCountByScreen': JsonConverters.toJson(colCountByScreen,'ColCountByScreen',context!),
        'labelLocation': labelLocation,
        'readOnly': readOnly,
        'items': JsonConverters.toJson(items,'List<EmptyItemForm>',context!)
    };

    getTypeName() => "dxForm";
    TypeContext? context = _ctx;
}

class ValidationRule implements IConvertible
{
    String? type;
    String? message;

    ValidationRule({this.type,this.message});
    ValidationRule.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = json['type'];
        message = json['message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': type,
        'message': message
    };

    getTypeName() => "ValidationRule";
    TypeContext? context = _ctx;
}

class LookupGrid implements IConvertible
{
    bool? allowClearing;
    String? displayExpr;
    String? valueExpr;

    LookupGrid({this.allowClearing,this.displayExpr,this.valueExpr});
    LookupGrid.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        allowClearing = json['allowClearing'];
        displayExpr = json['displayExpr'];
        valueExpr = json['valueExpr'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'allowClearing': allowClearing,
        'displayExpr': displayExpr,
        'valueExpr': valueExpr
    };

    getTypeName() => "LookupGrid";
    TypeContext? context = _ctx;
}

class ColumnGrid implements IConvertible
{
    String? caption;
    String? dataField;
    String? dataType;
    int? visibleIndex;
    List<ValidationRule>? validationRules;
    LookupGrid? lookup;
    bool? allowEditing;
    bool? encodeHtml;
    Map<String,dynamic?>? editorOptions;
    int? groupIndex;

    ColumnGrid({this.caption,this.dataField,this.dataType,this.visibleIndex,this.validationRules,this.lookup,this.allowEditing,this.encodeHtml,this.editorOptions,this.groupIndex});
    ColumnGrid.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        caption = json['caption'];
        dataField = json['dataField'];
        dataType = json['dataType'];
        visibleIndex = json['visibleIndex'];
        validationRules = JsonConverters.fromJson(json['validationRules'],'List<ValidationRule>',context!);
        lookup = JsonConverters.fromJson(json['lookup'],'LookupGrid',context!);
        allowEditing = json['allowEditing'];
        encodeHtml = json['encodeHtml'];
        editorOptions = JsonConverters.fromJson(json['editorOptions'],'Map<String,dynamic?>',context!);
        groupIndex = json['groupIndex'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'caption': caption,
        'dataField': dataField,
        'dataType': dataType,
        'visibleIndex': visibleIndex,
        'validationRules': JsonConverters.toJson(validationRules,'List<ValidationRule>',context!),
        'lookup': JsonConverters.toJson(lookup,'LookupGrid',context!),
        'allowEditing': allowEditing,
        'encodeHtml': encodeHtml,
        'editorOptions': JsonConverters.toJson(editorOptions,'Map<String,dynamic?>',context!),
        'groupIndex': groupIndex
    };

    getTypeName() => "ColumnGrid";
    TypeContext? context = _ctx;
}

class EditingGrid implements IConvertible
{
    bool? allowAdding;
    bool? allowDeleting;
    bool? allowUpdating;
    String? mode;

    EditingGrid({this.allowAdding,this.allowDeleting,this.allowUpdating,this.mode});
    EditingGrid.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        allowAdding = json['allowAdding'];
        allowDeleting = json['allowDeleting'];
        allowUpdating = json['allowUpdating'];
        mode = json['mode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'allowAdding': allowAdding,
        'allowDeleting': allowDeleting,
        'allowUpdating': allowUpdating,
        'mode': mode
    };

    getTypeName() => "EditingGrid";
    TypeContext? context = _ctx;
}

class gridSummaryGroupItems implements IConvertible
{
    String? column;
    String? displayFormat;
    bool? showInGroupFooter;
    String? summaryType;

    gridSummaryGroupItems({this.column,this.displayFormat,this.showInGroupFooter,this.summaryType});
    gridSummaryGroupItems.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        column = json['column'];
        displayFormat = json['displayFormat'];
        showInGroupFooter = json['showInGroupFooter'];
        summaryType = json['summaryType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'column': column,
        'displayFormat': displayFormat,
        'showInGroupFooter': showInGroupFooter,
        'summaryType': summaryType
    };

    getTypeName() => "gridSummaryGroupItems";
    TypeContext? context = _ctx;
}

class gridSummaryTotalItems implements IConvertible
{
    String? column;
    String? displayFormat;
    String? summaryType;

    gridSummaryTotalItems({this.column,this.displayFormat,this.summaryType});
    gridSummaryTotalItems.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        column = json['column'];
        displayFormat = json['displayFormat'];
        summaryType = json['summaryType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'column': column,
        'displayFormat': displayFormat,
        'summaryType': summaryType
    };

    getTypeName() => "gridSummaryTotalItems";
    TypeContext? context = _ctx;
}

class gridSummary implements IConvertible
{
    List<gridSummaryGroupItems>? groupItems;
    List<gridSummaryTotalItems>? totalItems;

    gridSummary({this.groupItems,this.totalItems});
    gridSummary.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        groupItems = JsonConverters.fromJson(json['groupItems'],'List<gridSummaryGroupItems>',context!);
        totalItems = JsonConverters.fromJson(json['totalItems'],'List<gridSummaryTotalItems>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'groupItems': JsonConverters.toJson(groupItems,'List<gridSummaryGroupItems>',context!),
        'totalItems': JsonConverters.toJson(totalItems,'List<gridSummaryTotalItems>',context!)
    };

    getTypeName() => "gridSummary";
    TypeContext? context = _ctx;
}

class dxDataGrid implements IConvertible
{
    List<ColumnGrid>? columns;
    bool? showColumnLines;
    bool? showRowLines;
    bool? rowAlternationEnabled;
    bool? showBorders;
    EditingGrid? editing;
    gridSummary? summary;

    dxDataGrid({this.columns,this.showColumnLines,this.showRowLines,this.rowAlternationEnabled,this.showBorders,this.editing,this.summary});
    dxDataGrid.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        columns = JsonConverters.fromJson(json['columns'],'List<ColumnGrid>',context!);
        showColumnLines = json['showColumnLines'];
        showRowLines = json['showRowLines'];
        rowAlternationEnabled = json['rowAlternationEnabled'];
        showBorders = json['showBorders'];
        editing = JsonConverters.fromJson(json['editing'],'EditingGrid',context!);
        summary = JsonConverters.fromJson(json['summary'],'gridSummary',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'columns': JsonConverters.toJson(columns,'List<ColumnGrid>',context!),
        'showColumnLines': showColumnLines,
        'showRowLines': showRowLines,
        'rowAlternationEnabled': rowAlternationEnabled,
        'showBorders': showBorders,
        'editing': JsonConverters.toJson(editing,'EditingGrid',context!),
        'summary': JsonConverters.toJson(summary,'gridSummary',context!)
    };

    getTypeName() => "dxDataGrid";
    TypeContext? context = _ctx;
}

class DefinicionTabla implements IConvertible
{
    Tabla? Tabla;
    List<Columna>? Columnas;
    List<DetalleJoinTabla>? Lookups;
    List<Frame>? Frames;
    List<DetalleIndices>? DetalleLlave;
    dxForm? Form;
    dxDataGrid? DataGrid;

    DefinicionTabla({this.Tabla,this.Columnas,this.Lookups,this.Frames,this.DetalleLlave,this.Form,this.DataGrid});
    DefinicionTabla.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Tabla = JsonConverters.fromJson(json['Tabla'],'Tabla',context!);
        Columnas = JsonConverters.fromJson(json['Columnas'],'List<Columna>',context!);
        Lookups = JsonConverters.fromJson(json['Lookups'],'List<DetalleJoinTabla>',context!);
        Frames = JsonConverters.fromJson(json['Frames'],'List<Frame>',context!);
        DetalleLlave = JsonConverters.fromJson(json['DetalleLlave'],'List<DetalleIndices>',context!);
        Form = JsonConverters.fromJson(json['Form'],'dxForm',context!);
        DataGrid = JsonConverters.fromJson(json['DataGrid'],'dxDataGrid',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Tabla': JsonConverters.toJson(Tabla,'Tabla',context!),
        'Columnas': JsonConverters.toJson(Columnas,'List<Columna>',context!),
        'Lookups': JsonConverters.toJson(Lookups,'List<DetalleJoinTabla>',context!),
        'Frames': JsonConverters.toJson(Frames,'List<Frame>',context!),
        'DetalleLlave': JsonConverters.toJson(DetalleLlave,'List<DetalleIndices>',context!),
        'Form': JsonConverters.toJson(Form,'dxForm',context!),
        'DataGrid': JsonConverters.toJson(DataGrid,'dxDataGrid',context!)
    };

    getTypeName() => "DefinicionTabla";
    TypeContext? context = _ctx;
}

class ConsultaDatosDetalleRS implements IConvertible
{
    DefinicionTabla? Definicion;
    List<Map<String,dynamic>>? DatosConsulta;
    int? TotalRegistros;
    int? TotalGrupos;
    List<dynamic>? SummaryList;

    ConsultaDatosDetalleRS({this.Definicion,this.DatosConsulta,this.TotalRegistros,this.TotalGrupos,this.SummaryList});
    ConsultaDatosDetalleRS.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Definicion = JsonConverters.fromJson(json['Definicion'],'DefinicionTabla',context!);
        DatosConsulta = JsonConverters.fromJson(json['DatosConsulta'],'List<Map<String,dynamic>>',context!);
        TotalRegistros = json['TotalRegistros'];
        TotalGrupos = json['TotalGrupos'];
        SummaryList = JsonConverters.fromJson(json['SummaryList'],'List<dynamic>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Definicion': JsonConverters.toJson(Definicion,'DefinicionTabla',context!),
        'DatosConsulta': JsonConverters.toJson(DatosConsulta,'List<Map<String,dynamic>>',context!),
        'TotalRegistros': TotalRegistros,
        'TotalGrupos': TotalGrupos,
        'SummaryList': JsonConverters.toJson(SummaryList,'List<dynamic>',context!)
    };

    getTypeName() => "ConsultaDatosDetalleRS";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'soluser_recaudo.sgsas.co', types: <String, TypeInfo> {
    'Lenguajes': TypeInfo(TypeOf.Enum, enumValues:Lenguajes.values),
    'gridSortOptions': TypeInfo(TypeOf.Class, create:() => gridSortOptions()),
    'gridGroupOptions': TypeInfo(TypeOf.Class, create:() => gridGroupOptions()),
    'ConsultaDatosDetalleRQ': TypeInfo(TypeOf.Class, create:() => ConsultaDatosDetalleRQ()),
    'Map<String,dynamic?>': TypeInfo(TypeOf.Class, create:() => Map<String,dynamic?>()),
    'List<dynamic>': TypeInfo(TypeOf.Class, create:() => <dynamic>[]),
    'List<gridSummaryOptions>': TypeInfo(TypeOf.Class, create:() => <gridSummaryOptions>[]),
    'gridSummaryOptions': TypeInfo(TypeOf.Class, create:() => gridSummaryOptions()),
    'Tabla': TypeInfo(TypeOf.Class, create:() => Tabla()),
    'Columna': TypeInfo(TypeOf.Class, create:() => Columna()),
    'Vista': TypeInfo(TypeOf.Class, create:() => Vista()),
    'DetalleJoinTabla': TypeInfo(TypeOf.Class, create:() => DetalleJoinTabla()),
    'List<Map<String,dynamic>>': TypeInfo(TypeOf.Class, create:() => <Map<String,dynamic>>[]),
    'Map<String,dynamic>': TypeInfo(TypeOf.Class, create:() => Map<String,dynamic>()),
    'DefinicionTabla': TypeInfo(TypeOf.Class, create:() => DefinicionTabla()),
    'Frame': TypeInfo(TypeOf.Class, create:() => Frame()),
    'DetalleIndices': TypeInfo(TypeOf.Class, create:() => DetalleIndices()),
    'ColCountByScreen': TypeInfo(TypeOf.Class, create:() => ColCountByScreen()),
    'ItemTypeForm': TypeInfo(TypeOf.Enum, enumValues:ItemTypeForm.values),
    'EmptyItemForm': TypeInfo(TypeOf.Class, create:() => EmptyItemForm()),
    'dxForm': TypeInfo(TypeOf.Class, create:() => dxForm()),
    'List<EmptyItemForm>': TypeInfo(TypeOf.Class, create:() => <EmptyItemForm>[]),
    'ValidationRule': TypeInfo(TypeOf.Class, create:() => ValidationRule()),
    'LookupGrid': TypeInfo(TypeOf.Class, create:() => LookupGrid()),
    'ColumnGrid': TypeInfo(TypeOf.Class, create:() => ColumnGrid()),
    'List<ValidationRule>': TypeInfo(TypeOf.Class, create:() => <ValidationRule>[]),
    'EditingGrid': TypeInfo(TypeOf.Class, create:() => EditingGrid()),
    'gridSummaryGroupItems': TypeInfo(TypeOf.Class, create:() => gridSummaryGroupItems()),
    'gridSummaryTotalItems': TypeInfo(TypeOf.Class, create:() => gridSummaryTotalItems()),
    'gridSummary': TypeInfo(TypeOf.Class, create:() => gridSummary()),
    'List<gridSummaryGroupItems>': TypeInfo(TypeOf.Class, create:() => <gridSummaryGroupItems>[]),
    'List<gridSummaryTotalItems>': TypeInfo(TypeOf.Class, create:() => <gridSummaryTotalItems>[]),
    'dxDataGrid': TypeInfo(TypeOf.Class, create:() => dxDataGrid()),
    'List<ColumnGrid>': TypeInfo(TypeOf.Class, create:() => <ColumnGrid>[]),
    'List<Columna>': TypeInfo(TypeOf.Class, create:() => <Columna>[]),
    'List<DetalleJoinTabla>': TypeInfo(TypeOf.Class, create:() => <DetalleJoinTabla>[]),
    'List<Frame>': TypeInfo(TypeOf.Class, create:() => <Frame>[]),
    'List<DetalleIndices>': TypeInfo(TypeOf.Class, create:() => <DetalleIndices>[]),
    'ConsultaDatosDetalleRS': TypeInfo(TypeOf.Class, create:() => ConsultaDatosDetalleRS()),
});

Dart ConsultaDatosDetalleRQ DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /Utilidades/Formas/DatosDetalle HTTP/1.1 
Host: soluser-recaudo.sgsas.co 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"Forma":0,"Detalle":0,"LlaveMaestro":{"String":{}},"Lenguaje":"ES","RecordSkip":0,"RecordTake":0,"Filter":[{}],"Sort":{"selector":"String","desc":false},"Group":{"selector":"String","desc":false,"isExpanded":false},"SummaryGroupItems":[{"selector":"String","summaryType":"String"}],"SummaryTotalItems":[{"selector":"String","summaryType":"String"}]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Definicion":{"Tabla":{"Codigo":0,"Propietario":"String","Tipo":"String","Nombre":"String","Alias":"String","Descripcion":"String","ParaReportes":"String","CrearAlIniciar":"String","CampoEmpresa":0,"CampoUnico":0},"Columnas":[{"CodigoTabla":0,"Codigo":0,"Nombre":"String","Alias":"String","Descripcion":"String","TipoDato":"String","ObligatorioFormas":"String","Hint":"String","Mayuscula":"String","Tamano":0,"Escala":0,"Tipo":"String","VlrDefecto":"String","PermiteEditar":"String","Orden":0,"Dinamico":"String","ClaseControl":"String","JoinLookup":0,"EsID":"String","Mascara":"String","MostrarEnLista":"String","InfoAdicional":"String","WHEREDefecto":"String","TieneResumen":"String","FormatoResumen":"String","TipoResumen":"String","PosicionResumen":"String","ResumenEnGrupo":"String","ResumenEnTotal":"String","IndiceGrupo":0}],"Lookups":[{"Codigo":0,"CampoAMostrar":"String","Campos1":["String"],"Campos2":["String"],"Operadores":["String"],"Datos":[{"String":{}}],"CodigoTabla1":0,"SQL":"String","TablaDetalle":{"Tabla":{"Codigo":0,"Propietario":"String","Tipo":"String","Nombre":"String","Alias":"String","Descripcion":"String","ParaReportes":"String","CrearAlIniciar":"String","CampoEmpresa":0,"CampoUnico":0},"Columnas":[{"CodigoTabla":0,"Codigo":0,"Nombre":"String","Alias":"String","Descripcion":"String","TipoDato":"String","ObligatorioFormas":"String","Hint":"String","Mayuscula":"String","Tamano":0,"Escala":0,"Tipo":"String","VlrDefecto":"String","PermiteEditar":"String","Orden":0,"Dinamico":"String","ClaseControl":"String","JoinLookup":0,"EsID":"String","Mascara":"String","MostrarEnLista":"String","InfoAdicional":"String","WHEREDefecto":"String","TieneResumen":"String","FormatoResumen":"String","TipoResumen":"String","PosicionResumen":"String","ResumenEnGrupo":"String","ResumenEnTotal":"String","IndiceGrupo":0}],"Lookups":[{"Codigo":0,"CampoAMostrar":"String","Campos1":["String"],"Campos2":["String"],"Operadores":["String"],"Datos":[{"String":{}}],"CodigoTabla1":0,"SQL":"String","TablaDetalle":{"Tabla":{"Codigo":0,"Propietario":"String","Tipo":"String","Nombre":"String","Alias":"String","Descripcion":"String","ParaReportes":"String","CrearAlIniciar":"String","CampoEmpresa":0,"CampoUnico":0},"Columnas":[{"CodigoTabla":0,"Codigo":0,"Nombre":"String","Alias":"String","Descripcion":"String","TipoDato":"String","ObligatorioFormas":"String","Hint":"String","Mayuscula":"String","Tamano":0,"Escala":0,"Tipo":"String","VlrDefecto":"String","PermiteEditar":"String","Orden":0,"Dinamico":"String","ClaseControl":"String","JoinLookup":0,"EsID":"String","Mascara":"String","MostrarEnLista":"String","InfoAdicional":"String","WHEREDefecto":"String","TieneResumen":"String","FormatoResumen":"String","TipoResumen":"String","PosicionResumen":"String","ResumenEnGrupo":"String","ResumenEnTotal":"String","IndiceGrupo":0}],"Lookups":[{"Codigo":0,"CampoAMostrar":"String","Campos1":["String"],"Campos2":["String"],"Operadores":["String"],"Datos":[{"String":{}}],"CodigoTabla1":0,"SQL":"String","TablaDetalle":null,"Vista":{"Codigo":0,"CodigoBlob":0,"Nombre":"String","Descripcion":"String","SQL":"String","CodigoTabla":0,"GuardarBinario":"String","TipoConsulta":"String","ExportacionDefault":"String","TipoExportacion":"String","ParametrosExportacion":0,"CodigoAyuda":"String","EjecutarEnAdm":"String","InfoAdicional":"String","EjecMultiempresa":"String"},"Version":"String","Ordenar":"String"}],"Frames":[{"Codigo":0,"SQL":"String","Campos1":["String"],"Campos2":["String"],"TablaFrame":null}],"DetalleLlave":[{"CodigoTabla":0,"NombreIndice":"String","CodigoColumna":0,"TipoCalculo":"String","Secuencia":"String","NombreColumna":"String"}],"Form":{"colCountByScreen":{"lg":0,"md":0,"sm":0,"xs":0},"labelLocation":"String","readOnly":false,"items":[{"itemType":"simple","visibleIndex":0}]},"DataGrid":{"columns":[{"caption":"String","dataField":"String","dataType":"String","visibleIndex":0,"validationRules":[{"type":"String","message":"String"}],"lookup":{"allowClearing":false,"displayExpr":"String","valueExpr":"String"},"allowEditing":false,"encodeHtml":false,"editorOptions":{"String":{}},"groupIndex":0}],"showColumnLines":false,"showRowLines":false,"rowAlternationEnabled":false,"showBorders":false,"editing":{"allowAdding":false,"allowDeleting":false,"allowUpdating":false,"mode":"String"},"summary":{"groupItems":[{"column":"String","displayFormat":"String","showInGroupFooter":false,"summaryType":"String"}],"totalItems":[{"column":"String","displayFormat":"String","summaryType":"String"}]}}},"Vista":{"Codigo":0,"CodigoBlob":0,"Nombre":"String","Descripcion":"String","SQL":"String","CodigoTabla":0,"GuardarBinario":"String","TipoConsulta":"String","ExportacionDefault":"String","TipoExportacion":"String","ParametrosExportacion":0,"CodigoAyuda":"String","EjecutarEnAdm":"String","InfoAdicional":"String","EjecMultiempresa":"String"},"Version":"String","Ordenar":"String"}],"Frames":[{"Codigo":0,"SQL":"String","Campos1":["String"],"Campos2":["String"],"TablaFrame":{"Tabla":{"Codigo":0,"Propietario":"String","Tipo":"String","Nombre":"String","Alias":"String","Descripcion":"String","ParaReportes":"String","CrearAlIniciar":"String","CampoEmpresa":0,"CampoUnico":0},"Columnas":[{"CodigoTabla":0,"Codigo":0,"Nombre":"String","Alias":"String","Descripcion":"String","TipoDato":"String","ObligatorioFormas":"String","Hint":"String","Mayuscula":"String","Tamano":0,"Escala":0,"Tipo":"String","VlrDefecto":"String","PermiteEditar":"String","Orden":0,"Dinamico":"String","ClaseControl":"String","JoinLookup":0,"EsID":"String","Mascara":"String","MostrarEnLista":"String","InfoAdicional":"String","WHEREDefecto":"String","TieneResumen":"String","FormatoResumen":"String","TipoResumen":"String","PosicionResumen":"String","ResumenEnGrupo":"String","ResumenEnTotal":"String","IndiceGrupo":0}],"Lookups":[{"Codigo":0,"CampoAMostrar":"String","Campos1":["String"],"Campos2":["String"],"Operadores":["String"],"Datos":[{"String":{}}],"CodigoTabla1":0,"SQL":"String","TablaDetalle":null,"Vista":{"Codigo":0,"CodigoBlob":0,"Nombre":"String","Descripcion":"String","SQL":"String","CodigoTabla":0,"GuardarBinario":"String","TipoConsulta":"String","ExportacionDefault":"String","TipoExportacion":"String","ParametrosExportacion":0,"CodigoAyuda":"String","EjecutarEnAdm":"String","InfoAdicional":"String","EjecMultiempresa":"String"},"Version":"String","Ordenar":"String"}],"Frames":[{"Codigo":0,"SQL":"String","Campos1":["String"],"Campos2":["String"],"TablaFrame":null}],"DetalleLlave":[{"CodigoTabla":0,"NombreIndice":"String","CodigoColumna":0,"TipoCalculo":"String","Secuencia":"String","NombreColumna":"String"}],"Form":{"colCountByScreen":{"lg":0,"md":0,"sm":0,"xs":0},"labelLocation":"String","readOnly":false,"items":[{"itemType":"simple","visibleIndex":0}]},"DataGrid":{"columns":[{"caption":"String","dataField":"String","dataType":"String","visibleIndex":0,"validationRules":[{"type":"String","message":"String"}],"lookup":{"allowClearing":false,"displayExpr":"String","valueExpr":"String"},"allowEditing":false,"encodeHtml":false,"editorOptions":{"String":{}},"groupIndex":0}],"showColumnLines":false,"showRowLines":false,"rowAlternationEnabled":false,"showBorders":false,"editing":{"allowAdding":false,"allowDeleting":false,"allowUpdating":false,"mode":"String"},"summary":{"groupItems":[{"column":"String","displayFormat":"String","showInGroupFooter":false,"summaryType":"String"}],"totalItems":[{"column":"String","displayFormat":"String","summaryType":"String"}]}}}}],"DetalleLlave":[{"CodigoTabla":0,"NombreIndice":"String","CodigoColumna":0,"TipoCalculo":"String","Secuencia":"String","NombreColumna":"String"}],"Form":{"colCountByScreen":{"lg":0,"md":0,"sm":0,"xs":0},"labelLocation":"String","readOnly":false,"items":[{"itemType":"simple","visibleIndex":0}]},"DataGrid":{"columns":[{"caption":"String","dataField":"String","dataType":"String","visibleIndex":0,"validationRules":[{"type":"String","message":"String"}],"lookup":{"allowClearing":false,"displayExpr":"String","valueExpr":"String"},"allowEditing":false,"encodeHtml":false,"editorOptions":{"String":{}},"groupIndex":0}],"showColumnLines":false,"showRowLines":false,"rowAlternationEnabled":false,"showBorders":false,"editing":{"allowAdding":false,"allowDeleting":false,"allowUpdating":false,"mode":"String"},"summary":{"groupItems":[{"column":"String","displayFormat":"String","showInGroupFooter":false,"summaryType":"String"}],"totalItems":[{"column":"String","displayFormat":"String","summaryType":"String"}]}}},"Vista":{"Codigo":0,"CodigoBlob":0,"Nombre":"String","Descripcion":"String","SQL":"String","CodigoTabla":0,"GuardarBinario":"String","TipoConsulta":"String","ExportacionDefault":"String","TipoExportacion":"String","ParametrosExportacion":0,"CodigoAyuda":"String","EjecutarEnAdm":"String","InfoAdicional":"String","EjecMultiempresa":"String"},"Version":"String","Ordenar":"String"}],"Frames":[{"Codigo":0,"SQL":"String","Campos1":["String"],"Campos2":["String"],"TablaFrame":{"Tabla":{"Codigo":0,"Propietario":"String","Tipo":"String","Nombre":"String","Alias":"String","Descripcion":"String","ParaReportes":"String","CrearAlIniciar":"String","CampoEmpresa":0,"CampoUnico":0},"Columnas":[{"CodigoTabla":0,"Codigo":0,"Nombre":"String","Alias":"String","Descripcion":"String","TipoDato":"String","ObligatorioFormas":"String","Hint":"String","Mayuscula":"String","Tamano":0,"Escala":0,"Tipo":"String","VlrDefecto":"String","PermiteEditar":"String","Orden":0,"Dinamico":"String","ClaseControl":"String","JoinLookup":0,"EsID":"String","Mascara":"String","MostrarEnLista":"String","InfoAdicional":"String","WHEREDefecto":"String","TieneResumen":"String","FormatoResumen":"String","TipoResumen":"String","PosicionResumen":"String","ResumenEnGrupo":"String","ResumenEnTotal":"String","IndiceGrupo":0}],"Lookups":[{"Codigo":0,"CampoAMostrar":"String","Campos1":["String"],"Campos2":["String"],"Operadores":["String"],"Datos":[{"String":{}}],"CodigoTabla1":0,"SQL":"String","TablaDetalle":{"Tabla":{"Codigo":0,"Propietario":"String","Tipo":"String","Nombre":"String","Alias":"String","Descripcion":"String","ParaReportes":"String","CrearAlIniciar":"String","CampoEmpresa":0,"CampoUnico":0},"Columnas":[{"CodigoTabla":0,"Codigo":0,"Nombre":"String","Alias":"String","Descripcion":"String","TipoDato":"String","ObligatorioFormas":"String","Hint":"String","Mayuscula":"String","Tamano":0,"Escala":0,"Tipo":"String","VlrDefecto":"String","PermiteEditar":"String","Orden":0,"Dinamico":"String","ClaseControl":"String","JoinLookup":0,"EsID":"String","Mascara":"String","MostrarEnLista":"String","InfoAdicional":"String","WHEREDefecto":"String","TieneResumen":"String","FormatoResumen":"String","TipoResumen":"String","PosicionResumen":"String","ResumenEnGrupo":"String","ResumenEnTotal":"String","IndiceGrupo":0}],"Lookups":[{"Codigo":0,"CampoAMostrar":"String","Campos1":["String"],"Campos2":["String"],"Operadores":["String"],"Datos":[{"String":{}}],"CodigoTabla1":0,"SQL":"String","TablaDetalle":null,"Vista":{"Codigo":0,"CodigoBlob":0,"Nombre":"String","Descripcion":"String","SQL":"String","CodigoTabla":0,"GuardarBinario":"String","TipoConsulta":"String","ExportacionDefault":"String","TipoExportacion":"String","ParametrosExportacion":0,"CodigoAyuda":"String","EjecutarEnAdm":"String","InfoAdicional":"String","EjecMultiempresa":"String"},"Version":"String","Ordenar":"String"}],"Frames":[{"Codigo":0,"SQL":"String","Campos1":["String"],"Campos2":["String"],"TablaFrame":null}],"DetalleLlave":[{"CodigoTabla":0,"NombreIndice":"String","CodigoColumna":0,"TipoCalculo":"String","Secuencia":"String","NombreColumna":"String"}],"Form":{"colCountByScreen":{"lg":0,"md":0,"sm":0,"xs":0},"labelLocation":"String","readOnly":false,"items":[{"itemType":"simple","visibleIndex":0}]},"DataGrid":{"columns":[{"caption":"String","dataField":"String","dataType":"String","visibleIndex":0,"validationRules":[{"type":"String","message":"String"}],"lookup":{"allowClearing":false,"displayExpr":"String","valueExpr":"String"},"allowEditing":false,"encodeHtml":false,"editorOptions":{"String":{}},"groupIndex":0}],"showColumnLines":false,"showRowLines":false,"rowAlternationEnabled":false,"showBorders":false,"editing":{"allowAdding":false,"allowDeleting":false,"allowUpdating":false,"mode":"String"},"summary":{"groupItems":[{"column":"String","displayFormat":"String","showInGroupFooter":false,"summaryType":"String"}],"totalItems":[{"column":"String","displayFormat":"String","summaryType":"String"}]}}},"Vista":{"Codigo":0,"CodigoBlob":0,"Nombre":"String","Descripcion":"String","SQL":"String","CodigoTabla":0,"GuardarBinario":"String","TipoConsulta":"String","ExportacionDefault":"String","TipoExportacion":"String","ParametrosExportacion":0,"CodigoAyuda":"String","EjecutarEnAdm":"String","InfoAdicional":"String","EjecMultiempresa":"String"},"Version":"String","Ordenar":"String"}],"Frames":[{"Codigo":0,"SQL":"String","Campos1":["String"],"Campos2":["String"],"TablaFrame":{"Tabla":{"Codigo":0,"Propietario":"String","Tipo":"String","Nombre":"String","Alias":"String","Descripcion":"String","ParaReportes":"String","CrearAlIniciar":"String","CampoEmpresa":0,"CampoUnico":0},"Columnas":[{"CodigoTabla":0,"Codigo":0,"Nombre":"String","Alias":"String","Descripcion":"String","TipoDato":"String","ObligatorioFormas":"String","Hint":"String","Mayuscula":"String","Tamano":0,"Escala":0,"Tipo":"String","VlrDefecto":"String","PermiteEditar":"String","Orden":0,"Dinamico":"String","ClaseControl":"String","JoinLookup":0,"EsID":"String","Mascara":"String","MostrarEnLista":"String","InfoAdicional":"String","WHEREDefecto":"String","TieneResumen":"String","FormatoResumen":"String","TipoResumen":"String","PosicionResumen":"String","ResumenEnGrupo":"String","ResumenEnTotal":"String","IndiceGrupo":0}],"Lookups":[{"Codigo":0,"CampoAMostrar":"String","Campos1":["String"],"Campos2":["String"],"Operadores":["String"],"Datos":[{"String":{}}],"CodigoTabla1":0,"SQL":"String","TablaDetalle":null,"Vista":{"Codigo":0,"CodigoBlob":0,"Nombre":"String","Descripcion":"String","SQL":"String","CodigoTabla":0,"GuardarBinario":"String","TipoConsulta":"String","ExportacionDefault":"String","TipoExportacion":"String","ParametrosExportacion":0,"CodigoAyuda":"String","EjecutarEnAdm":"String","InfoAdicional":"String","EjecMultiempresa":"String"},"Version":"String","Ordenar":"String"}],"Frames":[{"Codigo":0,"SQL":"String","Campos1":["String"],"Campos2":["String"],"TablaFrame":null}],"DetalleLlave":[{"CodigoTabla":0,"NombreIndice":"String","CodigoColumna":0,"TipoCalculo":"String","Secuencia":"String","NombreColumna":"String"}],"Form":{"colCountByScreen":{"lg":0,"md":0,"sm":0,"xs":0},"labelLocation":"String","readOnly":false,"items":[{"itemType":"simple","visibleIndex":0}]},"DataGrid":{"columns":[{"caption":"String","dataField":"String","dataType":"String","visibleIndex":0,"validationRules":[{"type":"String","message":"String"}],"lookup":{"allowClearing":false,"displayExpr":"String","valueExpr":"String"},"allowEditing":false,"encodeHtml":false,"editorOptions":{"String":{}},"groupIndex":0}],"showColumnLines":false,"showRowLines":false,"rowAlternationEnabled":false,"showBorders":false,"editing":{"allowAdding":false,"allowDeleting":false,"allowUpdating":false,"mode":"String"},"summary":{"groupItems":[{"column":"String","displayFormat":"String","showInGroupFooter":false,"summaryType":"String"}],"totalItems":[{"column":"String","displayFormat":"String","summaryType":"String"}]}}}}],"DetalleLlave":[{"CodigoTabla":0,"NombreIndice":"String","CodigoColumna":0,"TipoCalculo":"String","Secuencia":"String","NombreColumna":"String"}],"Form":{"colCountByScreen":{"lg":0,"md":0,"sm":0,"xs":0},"labelLocation":"String","readOnly":false,"items":[{"itemType":"simple","visibleIndex":0}]},"DataGrid":{"columns":[{"caption":"String","dataField":"String","dataType":"String","visibleIndex":0,"validationRules":[{"type":"String","message":"String"}],"lookup":{"allowClearing":false,"displayExpr":"String","valueExpr":"String"},"allowEditing":false,"encodeHtml":false,"editorOptions":{"String":{}},"groupIndex":0}],"showColumnLines":false,"showRowLines":false,"rowAlternationEnabled":false,"showBorders":false,"editing":{"allowAdding":false,"allowDeleting":false,"allowUpdating":false,"mode":"String"},"summary":{"groupItems":[{"column":"String","displayFormat":"String","showInGroupFooter":false,"summaryType":"String"}],"totalItems":[{"column":"String","displayFormat":"String","summaryType":"String"}]}}}}],"DetalleLlave":[{"CodigoTabla":0,"NombreIndice":"String","CodigoColumna":0,"TipoCalculo":"String","Secuencia":"String","NombreColumna":"String"}],"Form":{"colCountByScreen":{"lg":0,"md":0,"sm":0,"xs":0},"labelLocation":"String","readOnly":false,"items":[{"itemType":"simple","visibleIndex":0}]},"DataGrid":{"columns":[{"caption":"String","dataField":"String","dataType":"String","visibleIndex":0,"validationRules":[{"type":"String","message":"String"}],"lookup":{"allowClearing":false,"displayExpr":"String","valueExpr":"String"},"allowEditing":false,"encodeHtml":false,"editorOptions":{"String":{}},"groupIndex":0}],"showColumnLines":false,"showRowLines":false,"rowAlternationEnabled":false,"showBorders":false,"editing":{"allowAdding":false,"allowDeleting":false,"allowUpdating":false,"mode":"String"},"summary":{"groupItems":[{"column":"String","displayFormat":"String","showInGroupFooter":false,"summaryType":"String"}],"totalItems":[{"column":"String","displayFormat":"String","summaryType":"String"}]}}},"DatosConsulta":[{"String":{}}],"TotalRegistros":0,"TotalGrupos":0,"SummaryList":[{}]}