FrameAppWS

<back to all web services

ConsultaDatosDetalleRQ

Requires Authentication
The following routes are available for this service:
All Verbs/Utilidades/Formas/DatosDetalle
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


enum Lenguajes : string
{
    case ES = 'ES';
    case PT = 'PT';
    case EN = 'EN';
}

class gridSortOptions implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $selector=null,
        /** @var bool|null */
        public ?bool $desc=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['selector'])) $this->selector = $o['selector'];
        if (isset($o['desc'])) $this->desc = $o['desc'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->selector)) $o['selector'] = $this->selector;
        if (isset($this->desc)) $o['desc'] = $this->desc;
        return empty($o) ? new class(){} : $o;
    }
}

class gridGroupOptions implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $selector=null,
        /** @var bool|null */
        public ?bool $desc=null,
        /** @var bool|null */
        public ?bool $isExpanded=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['selector'])) $this->selector = $o['selector'];
        if (isset($o['desc'])) $this->desc = $o['desc'];
        if (isset($o['isExpanded'])) $this->isExpanded = $o['isExpanded'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->selector)) $o['selector'] = $this->selector;
        if (isset($this->desc)) $o['desc'] = $this->desc;
        if (isset($this->isExpanded)) $o['isExpanded'] = $this->isExpanded;
        return empty($o) ? new class(){} : $o;
    }
}

class ConsultaDatosDetalleRQ implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Forma=0,
        /** @var int */
        public int $Detalle=0,
        /** @var array<string,Object>|null */
        public ?array $LlaveMaestro=null,
        /** @var Lenguajes|null */
        public ?Lenguajes $Lenguaje=null,
        /** @var int */
        public int $RecordSkip=0,
        /** @var int */
        public int $RecordTake=0,
        /** @var array<Object>|null */
        public ?array $Filter=null,
        /** @var gridSortOptions|null */
        public ?gridSortOptions $Sort=null,
        /** @var gridGroupOptions|null */
        public ?gridGroupOptions $Group=null,
        /** @var gridSummaryOptions[]|null */
        public ?array $SummaryGroupItems=null,
        /** @var gridSummaryOptions[]|null */
        public ?array $SummaryTotalItems=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Forma'])) $this->Forma = $o['Forma'];
        if (isset($o['Detalle'])) $this->Detalle = $o['Detalle'];
        if (isset($o['LlaveMaestro'])) $this->LlaveMaestro = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','Object']), $o['LlaveMaestro']);
        if (isset($o['Lenguaje'])) $this->Lenguaje = JsonConverters::from('Lenguajes', $o['Lenguaje']);
        if (isset($o['RecordSkip'])) $this->RecordSkip = $o['RecordSkip'];
        if (isset($o['RecordTake'])) $this->RecordTake = $o['RecordTake'];
        if (isset($o['Filter'])) $this->Filter = JsonConverters::fromArray('Object', $o['Filter']);
        if (isset($o['Sort'])) $this->Sort = JsonConverters::from('gridSortOptions', $o['Sort']);
        if (isset($o['Group'])) $this->Group = JsonConverters::from('gridGroupOptions', $o['Group']);
        if (isset($o['SummaryGroupItems'])) $this->SummaryGroupItems = JsonConverters::fromArray('gridSummaryOptions', $o['SummaryGroupItems']);
        if (isset($o['SummaryTotalItems'])) $this->SummaryTotalItems = JsonConverters::fromArray('gridSummaryOptions', $o['SummaryTotalItems']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Forma)) $o['Forma'] = $this->Forma;
        if (isset($this->Detalle)) $o['Detalle'] = $this->Detalle;
        if (isset($this->LlaveMaestro)) $o['LlaveMaestro'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','Object']), $this->LlaveMaestro);
        if (isset($this->Lenguaje)) $o['Lenguaje'] = JsonConverters::to('Lenguajes', $this->Lenguaje);
        if (isset($this->RecordSkip)) $o['RecordSkip'] = $this->RecordSkip;
        if (isset($this->RecordTake)) $o['RecordTake'] = $this->RecordTake;
        if (isset($this->Filter)) $o['Filter'] = JsonConverters::toArray('Object', $this->Filter);
        if (isset($this->Sort)) $o['Sort'] = JsonConverters::to('gridSortOptions', $this->Sort);
        if (isset($this->Group)) $o['Group'] = JsonConverters::to('gridGroupOptions', $this->Group);
        if (isset($this->SummaryGroupItems)) $o['SummaryGroupItems'] = JsonConverters::toArray('gridSummaryOptions', $this->SummaryGroupItems);
        if (isset($this->SummaryTotalItems)) $o['SummaryTotalItems'] = JsonConverters::toArray('gridSummaryOptions', $this->SummaryTotalItems);
        return empty($o) ? new class(){} : $o;
    }
}

class gridSummaryOptions implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $selector=null,
        /** @var string|null */
        public ?string $summaryType=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['selector'])) $this->selector = $o['selector'];
        if (isset($o['summaryType'])) $this->summaryType = $o['summaryType'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->selector)) $o['selector'] = $this->selector;
        if (isset($this->summaryType)) $o['summaryType'] = $this->summaryType;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class Tabla implements JsonSerializable
{
    public function __construct(
        // @DataMember
        /** @var float */
        public float $Codigo=0.0,

        // @DataMember
        /** @var string|null */
        public ?string $Propietario=null,

        // @DataMember
        /** @var string|null */
        public ?string $Tipo=null,

        // @DataMember
        /** @var string|null */
        public ?string $Nombre=null,

        // @DataMember
        /** @var string|null */
        public ?string $Alias=null,

        // @DataMember
        /** @var string|null */
        public ?string $Descripcion=null,

        // @DataMember
        /** @var string|null */
        public ?string $ParaReportes=null,

        // @DataMember
        /** @var string|null */
        public ?string $CrearAlIniciar=null,

        // @DataMember
        /** @var int */
        public int $CampoEmpresa=0,

        // @DataMember
        /** @var int */
        public int $CampoUnico=0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Codigo'])) $this->Codigo = $o['Codigo'];
        if (isset($o['Propietario'])) $this->Propietario = $o['Propietario'];
        if (isset($o['Tipo'])) $this->Tipo = $o['Tipo'];
        if (isset($o['Nombre'])) $this->Nombre = $o['Nombre'];
        if (isset($o['Alias'])) $this->Alias = $o['Alias'];
        if (isset($o['Descripcion'])) $this->Descripcion = $o['Descripcion'];
        if (isset($o['ParaReportes'])) $this->ParaReportes = $o['ParaReportes'];
        if (isset($o['CrearAlIniciar'])) $this->CrearAlIniciar = $o['CrearAlIniciar'];
        if (isset($o['CampoEmpresa'])) $this->CampoEmpresa = $o['CampoEmpresa'];
        if (isset($o['CampoUnico'])) $this->CampoUnico = $o['CampoUnico'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Codigo)) $o['Codigo'] = $this->Codigo;
        if (isset($this->Propietario)) $o['Propietario'] = $this->Propietario;
        if (isset($this->Tipo)) $o['Tipo'] = $this->Tipo;
        if (isset($this->Nombre)) $o['Nombre'] = $this->Nombre;
        if (isset($this->Alias)) $o['Alias'] = $this->Alias;
        if (isset($this->Descripcion)) $o['Descripcion'] = $this->Descripcion;
        if (isset($this->ParaReportes)) $o['ParaReportes'] = $this->ParaReportes;
        if (isset($this->CrearAlIniciar)) $o['CrearAlIniciar'] = $this->CrearAlIniciar;
        if (isset($this->CampoEmpresa)) $o['CampoEmpresa'] = $this->CampoEmpresa;
        if (isset($this->CampoUnico)) $o['CampoUnico'] = $this->CampoUnico;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class Columna implements JsonSerializable
{
    public function __construct(
        // @DataMember
        /** @var float */
        public float $CodigoTabla=0.0,

        // @DataMember
        /** @var float */
        public float $Codigo=0.0,

        // @DataMember
        /** @var string|null */
        public ?string $Nombre=null,

        // @DataMember
        /** @var string|null */
        public ?string $Alias=null,

        // @DataMember
        /** @var string|null */
        public ?string $Descripcion=null,

        // @DataMember
        /** @var string|null */
        public ?string $TipoDato=null,

        // @DataMember
        /** @var string|null */
        public ?string $ObligatorioFormas=null,

        // @DataMember
        /** @var string|null */
        public ?string $Hint=null,

        // @DataMember
        /** @var string|null */
        public ?string $Mayuscula=null,

        // @DataMember
        /** @var int */
        public int $Tamano=0,

        // @DataMember
        /** @var int */
        public int $Escala=0,

        // @DataMember
        /** @var string|null */
        public ?string $Tipo=null,

        // @DataMember
        /** @var string|null */
        public ?string $VlrDefecto=null,

        // @DataMember
        /** @var string|null */
        public ?string $PermiteEditar=null,

        // @DataMember
        /** @var int */
        public int $Orden=0,

        // @DataMember
        /** @var string|null */
        public ?string $Dinamico=null,

        // @DataMember
        /** @var string|null */
        public ?string $ClaseControl=null,

        // @DataMember
        /** @var float */
        public float $JoinLookup=0.0,

        // @DataMember
        /** @var string|null */
        public ?string $EsID=null,

        // @DataMember
        /** @var string|null */
        public ?string $Mascara=null,

        // @DataMember
        /** @var string|null */
        public ?string $MostrarEnLista=null,

        // @DataMember
        /** @var string|null */
        public ?string $InfoAdicional=null,

        // @DataMember
        /** @var string|null */
        public ?string $WHEREDefecto=null,

        // @DataMember
        /** @var string|null */
        public ?string $TieneResumen=null,

        // @DataMember
        /** @var string|null */
        public ?string $FormatoResumen=null,

        // @DataMember
        /** @var string|null */
        public ?string $TipoResumen=null,

        // @DataMember
        /** @var string|null */
        public ?string $PosicionResumen=null,

        // @DataMember
        /** @var string|null */
        public ?string $ResumenEnGrupo=null,

        // @DataMember
        /** @var string|null */
        public ?string $ResumenEnTotal=null,

        // @DataMember
        /** @var int */
        public int $IndiceGrupo=0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CodigoTabla'])) $this->CodigoTabla = $o['CodigoTabla'];
        if (isset($o['Codigo'])) $this->Codigo = $o['Codigo'];
        if (isset($o['Nombre'])) $this->Nombre = $o['Nombre'];
        if (isset($o['Alias'])) $this->Alias = $o['Alias'];
        if (isset($o['Descripcion'])) $this->Descripcion = $o['Descripcion'];
        if (isset($o['TipoDato'])) $this->TipoDato = $o['TipoDato'];
        if (isset($o['ObligatorioFormas'])) $this->ObligatorioFormas = $o['ObligatorioFormas'];
        if (isset($o['Hint'])) $this->Hint = $o['Hint'];
        if (isset($o['Mayuscula'])) $this->Mayuscula = $o['Mayuscula'];
        if (isset($o['Tamano'])) $this->Tamano = $o['Tamano'];
        if (isset($o['Escala'])) $this->Escala = $o['Escala'];
        if (isset($o['Tipo'])) $this->Tipo = $o['Tipo'];
        if (isset($o['VlrDefecto'])) $this->VlrDefecto = $o['VlrDefecto'];
        if (isset($o['PermiteEditar'])) $this->PermiteEditar = $o['PermiteEditar'];
        if (isset($o['Orden'])) $this->Orden = $o['Orden'];
        if (isset($o['Dinamico'])) $this->Dinamico = $o['Dinamico'];
        if (isset($o['ClaseControl'])) $this->ClaseControl = $o['ClaseControl'];
        if (isset($o['JoinLookup'])) $this->JoinLookup = $o['JoinLookup'];
        if (isset($o['EsID'])) $this->EsID = $o['EsID'];
        if (isset($o['Mascara'])) $this->Mascara = $o['Mascara'];
        if (isset($o['MostrarEnLista'])) $this->MostrarEnLista = $o['MostrarEnLista'];
        if (isset($o['InfoAdicional'])) $this->InfoAdicional = $o['InfoAdicional'];
        if (isset($o['WHEREDefecto'])) $this->WHEREDefecto = $o['WHEREDefecto'];
        if (isset($o['TieneResumen'])) $this->TieneResumen = $o['TieneResumen'];
        if (isset($o['FormatoResumen'])) $this->FormatoResumen = $o['FormatoResumen'];
        if (isset($o['TipoResumen'])) $this->TipoResumen = $o['TipoResumen'];
        if (isset($o['PosicionResumen'])) $this->PosicionResumen = $o['PosicionResumen'];
        if (isset($o['ResumenEnGrupo'])) $this->ResumenEnGrupo = $o['ResumenEnGrupo'];
        if (isset($o['ResumenEnTotal'])) $this->ResumenEnTotal = $o['ResumenEnTotal'];
        if (isset($o['IndiceGrupo'])) $this->IndiceGrupo = $o['IndiceGrupo'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CodigoTabla)) $o['CodigoTabla'] = $this->CodigoTabla;
        if (isset($this->Codigo)) $o['Codigo'] = $this->Codigo;
        if (isset($this->Nombre)) $o['Nombre'] = $this->Nombre;
        if (isset($this->Alias)) $o['Alias'] = $this->Alias;
        if (isset($this->Descripcion)) $o['Descripcion'] = $this->Descripcion;
        if (isset($this->TipoDato)) $o['TipoDato'] = $this->TipoDato;
        if (isset($this->ObligatorioFormas)) $o['ObligatorioFormas'] = $this->ObligatorioFormas;
        if (isset($this->Hint)) $o['Hint'] = $this->Hint;
        if (isset($this->Mayuscula)) $o['Mayuscula'] = $this->Mayuscula;
        if (isset($this->Tamano)) $o['Tamano'] = $this->Tamano;
        if (isset($this->Escala)) $o['Escala'] = $this->Escala;
        if (isset($this->Tipo)) $o['Tipo'] = $this->Tipo;
        if (isset($this->VlrDefecto)) $o['VlrDefecto'] = $this->VlrDefecto;
        if (isset($this->PermiteEditar)) $o['PermiteEditar'] = $this->PermiteEditar;
        if (isset($this->Orden)) $o['Orden'] = $this->Orden;
        if (isset($this->Dinamico)) $o['Dinamico'] = $this->Dinamico;
        if (isset($this->ClaseControl)) $o['ClaseControl'] = $this->ClaseControl;
        if (isset($this->JoinLookup)) $o['JoinLookup'] = $this->JoinLookup;
        if (isset($this->EsID)) $o['EsID'] = $this->EsID;
        if (isset($this->Mascara)) $o['Mascara'] = $this->Mascara;
        if (isset($this->MostrarEnLista)) $o['MostrarEnLista'] = $this->MostrarEnLista;
        if (isset($this->InfoAdicional)) $o['InfoAdicional'] = $this->InfoAdicional;
        if (isset($this->WHEREDefecto)) $o['WHEREDefecto'] = $this->WHEREDefecto;
        if (isset($this->TieneResumen)) $o['TieneResumen'] = $this->TieneResumen;
        if (isset($this->FormatoResumen)) $o['FormatoResumen'] = $this->FormatoResumen;
        if (isset($this->TipoResumen)) $o['TipoResumen'] = $this->TipoResumen;
        if (isset($this->PosicionResumen)) $o['PosicionResumen'] = $this->PosicionResumen;
        if (isset($this->ResumenEnGrupo)) $o['ResumenEnGrupo'] = $this->ResumenEnGrupo;
        if (isset($this->ResumenEnTotal)) $o['ResumenEnTotal'] = $this->ResumenEnTotal;
        if (isset($this->IndiceGrupo)) $o['IndiceGrupo'] = $this->IndiceGrupo;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class Vista implements JsonSerializable
{
    public function __construct(
        // @DataMember
        /** @var float */
        public float $Codigo=0.0,

        // @DataMember
        /** @var float */
        public float $CodigoBlob=0.0,

        // @DataMember
        /** @var string|null */
        public ?string $Nombre=null,

        // @DataMember
        /** @var string|null */
        public ?string $Descripcion=null,

        // @DataMember
        /** @var string|null */
        public ?string $SQL=null,

        // @DataMember
        /** @var float */
        public float $CodigoTabla=0.0,

        // @DataMember
        /** @var string|null */
        public ?string $GuardarBinario=null,

        // @DataMember
        /** @var string|null */
        public ?string $TipoConsulta=null,

        // @DataMember
        /** @var string|null */
        public ?string $ExportacionDefault=null,

        // @DataMember
        /** @var string|null */
        public ?string $TipoExportacion=null,

        // @DataMember
        /** @var int */
        public int $ParametrosExportacion=0,

        // @DataMember
        /** @var string|null */
        public ?string $CodigoAyuda=null,

        // @DataMember
        /** @var string|null */
        public ?string $EjecutarEnAdm=null,

        // @DataMember
        /** @var string|null */
        public ?string $InfoAdicional=null,

        // @DataMember
        /** @var string|null */
        public ?string $EjecMultiempresa=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Codigo'])) $this->Codigo = $o['Codigo'];
        if (isset($o['CodigoBlob'])) $this->CodigoBlob = $o['CodigoBlob'];
        if (isset($o['Nombre'])) $this->Nombre = $o['Nombre'];
        if (isset($o['Descripcion'])) $this->Descripcion = $o['Descripcion'];
        if (isset($o['SQL'])) $this->SQL = $o['SQL'];
        if (isset($o['CodigoTabla'])) $this->CodigoTabla = $o['CodigoTabla'];
        if (isset($o['GuardarBinario'])) $this->GuardarBinario = $o['GuardarBinario'];
        if (isset($o['TipoConsulta'])) $this->TipoConsulta = $o['TipoConsulta'];
        if (isset($o['ExportacionDefault'])) $this->ExportacionDefault = $o['ExportacionDefault'];
        if (isset($o['TipoExportacion'])) $this->TipoExportacion = $o['TipoExportacion'];
        if (isset($o['ParametrosExportacion'])) $this->ParametrosExportacion = $o['ParametrosExportacion'];
        if (isset($o['CodigoAyuda'])) $this->CodigoAyuda = $o['CodigoAyuda'];
        if (isset($o['EjecutarEnAdm'])) $this->EjecutarEnAdm = $o['EjecutarEnAdm'];
        if (isset($o['InfoAdicional'])) $this->InfoAdicional = $o['InfoAdicional'];
        if (isset($o['EjecMultiempresa'])) $this->EjecMultiempresa = $o['EjecMultiempresa'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Codigo)) $o['Codigo'] = $this->Codigo;
        if (isset($this->CodigoBlob)) $o['CodigoBlob'] = $this->CodigoBlob;
        if (isset($this->Nombre)) $o['Nombre'] = $this->Nombre;
        if (isset($this->Descripcion)) $o['Descripcion'] = $this->Descripcion;
        if (isset($this->SQL)) $o['SQL'] = $this->SQL;
        if (isset($this->CodigoTabla)) $o['CodigoTabla'] = $this->CodigoTabla;
        if (isset($this->GuardarBinario)) $o['GuardarBinario'] = $this->GuardarBinario;
        if (isset($this->TipoConsulta)) $o['TipoConsulta'] = $this->TipoConsulta;
        if (isset($this->ExportacionDefault)) $o['ExportacionDefault'] = $this->ExportacionDefault;
        if (isset($this->TipoExportacion)) $o['TipoExportacion'] = $this->TipoExportacion;
        if (isset($this->ParametrosExportacion)) $o['ParametrosExportacion'] = $this->ParametrosExportacion;
        if (isset($this->CodigoAyuda)) $o['CodigoAyuda'] = $this->CodigoAyuda;
        if (isset($this->EjecutarEnAdm)) $o['EjecutarEnAdm'] = $this->EjecutarEnAdm;
        if (isset($this->InfoAdicional)) $o['InfoAdicional'] = $this->InfoAdicional;
        if (isset($this->EjecMultiempresa)) $o['EjecMultiempresa'] = $this->EjecMultiempresa;
        return empty($o) ? new class(){} : $o;
    }
}

class DetalleJoinTabla implements JsonSerializable
{
    public function __construct(
        /** @var float */
        public float $Codigo=0.0,
        /** @var string|null */
        public ?string $CampoAMostrar=null,
        /** @var array<string>|null */
        public ?array $Campos1=null,
        /** @var array<string>|null */
        public ?array $Campos2=null,
        /** @var array<string>|null */
        public ?array $Operadores=null,
        /** @var array<array<string,Object>>|null */
        public ?array $Datos=null,
        /** @var float */
        public float $CodigoTabla1=0.0,
        /** @var string|null */
        public ?string $SQL=null,
        /** @var DefinicionTabla|null */
        public ?DefinicionTabla $TablaDetalle=null,
        /** @var Vista|null */
        public ?Vista $Vista=null,
        /** @var string|null */
        public ?string $Version=null,
        /** @var string|null */
        public ?string $Ordenar=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Codigo'])) $this->Codigo = $o['Codigo'];
        if (isset($o['CampoAMostrar'])) $this->CampoAMostrar = $o['CampoAMostrar'];
        if (isset($o['Campos1'])) $this->Campos1 = JsonConverters::fromArray('string', $o['Campos1']);
        if (isset($o['Campos2'])) $this->Campos2 = JsonConverters::fromArray('string', $o['Campos2']);
        if (isset($o['Operadores'])) $this->Operadores = JsonConverters::fromArray('string', $o['Operadores']);
        if (isset($o['Datos'])) $this->Datos = JsonConverters::fromArray('Dictionary<String,Object>', $o['Datos']);
        if (isset($o['CodigoTabla1'])) $this->CodigoTabla1 = $o['CodigoTabla1'];
        if (isset($o['SQL'])) $this->SQL = $o['SQL'];
        if (isset($o['TablaDetalle'])) $this->TablaDetalle = JsonConverters::from('DefinicionTabla', $o['TablaDetalle']);
        if (isset($o['Vista'])) $this->Vista = JsonConverters::from('Vista', $o['Vista']);
        if (isset($o['Version'])) $this->Version = $o['Version'];
        if (isset($o['Ordenar'])) $this->Ordenar = $o['Ordenar'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Codigo)) $o['Codigo'] = $this->Codigo;
        if (isset($this->CampoAMostrar)) $o['CampoAMostrar'] = $this->CampoAMostrar;
        if (isset($this->Campos1)) $o['Campos1'] = JsonConverters::toArray('string', $this->Campos1);
        if (isset($this->Campos2)) $o['Campos2'] = JsonConverters::toArray('string', $this->Campos2);
        if (isset($this->Operadores)) $o['Operadores'] = JsonConverters::toArray('string', $this->Operadores);
        if (isset($this->Datos)) $o['Datos'] = JsonConverters::toArray('Dictionary<String,Object>', $this->Datos);
        if (isset($this->CodigoTabla1)) $o['CodigoTabla1'] = $this->CodigoTabla1;
        if (isset($this->SQL)) $o['SQL'] = $this->SQL;
        if (isset($this->TablaDetalle)) $o['TablaDetalle'] = JsonConverters::to('DefinicionTabla', $this->TablaDetalle);
        if (isset($this->Vista)) $o['Vista'] = JsonConverters::to('Vista', $this->Vista);
        if (isset($this->Version)) $o['Version'] = $this->Version;
        if (isset($this->Ordenar)) $o['Ordenar'] = $this->Ordenar;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class Frame implements JsonSerializable
{
    public function __construct(
        // @DataMember
        /** @var float */
        public float $Codigo=0.0,

        // @DataMember
        /** @var string|null */
        public ?string $SQL=null,

        // @DataMember
        /** @var array<string>|null */
        public ?array $Campos1=null,

        // @DataMember
        /** @var array<string>|null */
        public ?array $Campos2=null,

        // @DataMember
        /** @var DefinicionTabla|null */
        public ?DefinicionTabla $TablaFrame=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Codigo'])) $this->Codigo = $o['Codigo'];
        if (isset($o['SQL'])) $this->SQL = $o['SQL'];
        if (isset($o['Campos1'])) $this->Campos1 = JsonConverters::fromArray('string', $o['Campos1']);
        if (isset($o['Campos2'])) $this->Campos2 = JsonConverters::fromArray('string', $o['Campos2']);
        if (isset($o['TablaFrame'])) $this->TablaFrame = JsonConverters::from('DefinicionTabla', $o['TablaFrame']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Codigo)) $o['Codigo'] = $this->Codigo;
        if (isset($this->SQL)) $o['SQL'] = $this->SQL;
        if (isset($this->Campos1)) $o['Campos1'] = JsonConverters::toArray('string', $this->Campos1);
        if (isset($this->Campos2)) $o['Campos2'] = JsonConverters::toArray('string', $this->Campos2);
        if (isset($this->TablaFrame)) $o['TablaFrame'] = JsonConverters::to('DefinicionTabla', $this->TablaFrame);
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class DetalleIndices implements JsonSerializable
{
    public function __construct(
        // @DataMember
        /** @var float */
        public float $CodigoTabla=0.0,

        // @DataMember
        /** @var string|null */
        public ?string $NombreIndice=null,

        // @DataMember
        /** @var float */
        public float $CodigoColumna=0.0,

        // @DataMember
        /** @var string|null */
        public ?string $TipoCalculo=null,

        // @DataMember
        /** @var string|null */
        public ?string $Secuencia=null,

        // @DataMember
        /** @var string|null */
        public ?string $NombreColumna=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CodigoTabla'])) $this->CodigoTabla = $o['CodigoTabla'];
        if (isset($o['NombreIndice'])) $this->NombreIndice = $o['NombreIndice'];
        if (isset($o['CodigoColumna'])) $this->CodigoColumna = $o['CodigoColumna'];
        if (isset($o['TipoCalculo'])) $this->TipoCalculo = $o['TipoCalculo'];
        if (isset($o['Secuencia'])) $this->Secuencia = $o['Secuencia'];
        if (isset($o['NombreColumna'])) $this->NombreColumna = $o['NombreColumna'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CodigoTabla)) $o['CodigoTabla'] = $this->CodigoTabla;
        if (isset($this->NombreIndice)) $o['NombreIndice'] = $this->NombreIndice;
        if (isset($this->CodigoColumna)) $o['CodigoColumna'] = $this->CodigoColumna;
        if (isset($this->TipoCalculo)) $o['TipoCalculo'] = $this->TipoCalculo;
        if (isset($this->Secuencia)) $o['Secuencia'] = $this->Secuencia;
        if (isset($this->NombreColumna)) $o['NombreColumna'] = $this->NombreColumna;
        return empty($o) ? new class(){} : $o;
    }
}

class ColCountByScreen implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $lg=0,
        /** @var int */
        public int $md=0,
        /** @var int */
        public int $sm=0,
        /** @var int */
        public int $xs=0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['lg'])) $this->lg = $o['lg'];
        if (isset($o['md'])) $this->md = $o['md'];
        if (isset($o['sm'])) $this->sm = $o['sm'];
        if (isset($o['xs'])) $this->xs = $o['xs'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->lg)) $o['lg'] = $this->lg;
        if (isset($this->md)) $o['md'] = $this->md;
        if (isset($this->sm)) $o['sm'] = $this->sm;
        if (isset($this->xs)) $o['xs'] = $this->xs;
        return empty($o) ? new class(){} : $o;
    }
}

enum ItemTypeForm : string
{
    case simple = 'simple';
    case group = 'group';
    case tabbed = 'tabbed';
    case empty = 'empty';
}

class EmptyItemForm implements JsonSerializable
{
    public function __construct(
        /** @var ItemTypeForm|null */
        public ?ItemTypeForm $itemType=null,
        /** @var int */
        public int $visibleIndex=0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['itemType'])) $this->itemType = JsonConverters::from('ItemTypeForm', $o['itemType']);
        if (isset($o['visibleIndex'])) $this->visibleIndex = $o['visibleIndex'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->itemType)) $o['itemType'] = JsonConverters::to('ItemTypeForm', $this->itemType);
        if (isset($this->visibleIndex)) $o['visibleIndex'] = $this->visibleIndex;
        return empty($o) ? new class(){} : $o;
    }
}

class dxForm implements JsonSerializable
{
    public function __construct(
        /** @var ColCountByScreen|null */
        public ?ColCountByScreen $colCountByScreen=null,
        /** @var string|null */
        public ?string $labelLocation=null,
        /** @var bool|null */
        public ?bool $readOnly=null,
        /** @var array<EmptyItemForm>|null */
        public ?array $items=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['colCountByScreen'])) $this->colCountByScreen = JsonConverters::from('ColCountByScreen', $o['colCountByScreen']);
        if (isset($o['labelLocation'])) $this->labelLocation = $o['labelLocation'];
        if (isset($o['readOnly'])) $this->readOnly = $o['readOnly'];
        if (isset($o['items'])) $this->items = JsonConverters::fromArray('EmptyItemForm', $o['items']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->colCountByScreen)) $o['colCountByScreen'] = JsonConverters::to('ColCountByScreen', $this->colCountByScreen);
        if (isset($this->labelLocation)) $o['labelLocation'] = $this->labelLocation;
        if (isset($this->readOnly)) $o['readOnly'] = $this->readOnly;
        if (isset($this->items)) $o['items'] = JsonConverters::toArray('EmptyItemForm', $this->items);
        return empty($o) ? new class(){} : $o;
    }
}

class ValidationRule implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $type=null,
        /** @var string|null */
        public ?string $message=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['type'])) $this->type = $o['type'];
        if (isset($o['message'])) $this->message = $o['message'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->type)) $o['type'] = $this->type;
        if (isset($this->message)) $o['message'] = $this->message;
        return empty($o) ? new class(){} : $o;
    }
}

class LookupGrid implements JsonSerializable
{
    public function __construct(
        /** @var bool|null */
        public ?bool $allowClearing=null,
        /** @var string|null */
        public ?string $displayExpr=null,
        /** @var string|null */
        public ?string $valueExpr=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['allowClearing'])) $this->allowClearing = $o['allowClearing'];
        if (isset($o['displayExpr'])) $this->displayExpr = $o['displayExpr'];
        if (isset($o['valueExpr'])) $this->valueExpr = $o['valueExpr'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->allowClearing)) $o['allowClearing'] = $this->allowClearing;
        if (isset($this->displayExpr)) $o['displayExpr'] = $this->displayExpr;
        if (isset($this->valueExpr)) $o['valueExpr'] = $this->valueExpr;
        return empty($o) ? new class(){} : $o;
    }
}

class ColumnGrid implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $caption=null,
        /** @var string|null */
        public ?string $dataField=null,
        /** @var string|null */
        public ?string $dataType=null,
        /** @var int */
        public int $visibleIndex=0,
        /** @var array<ValidationRule>|null */
        public ?array $validationRules=null,
        /** @var LookupGrid|null */
        public ?LookupGrid $lookup=null,
        /** @var bool|null */
        public ?bool $allowEditing=null,
        /** @var bool|null */
        public ?bool $encodeHtml=null,
        /** @var array<string,Object>|null */
        public ?array $editorOptions=null,
        /** @var int|null */
        public ?int $groupIndex=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['caption'])) $this->caption = $o['caption'];
        if (isset($o['dataField'])) $this->dataField = $o['dataField'];
        if (isset($o['dataType'])) $this->dataType = $o['dataType'];
        if (isset($o['visibleIndex'])) $this->visibleIndex = $o['visibleIndex'];
        if (isset($o['validationRules'])) $this->validationRules = JsonConverters::fromArray('ValidationRule', $o['validationRules']);
        if (isset($o['lookup'])) $this->lookup = JsonConverters::from('LookupGrid', $o['lookup']);
        if (isset($o['allowEditing'])) $this->allowEditing = $o['allowEditing'];
        if (isset($o['encodeHtml'])) $this->encodeHtml = $o['encodeHtml'];
        if (isset($o['editorOptions'])) $this->editorOptions = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','Object']), $o['editorOptions']);
        if (isset($o['groupIndex'])) $this->groupIndex = $o['groupIndex'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->caption)) $o['caption'] = $this->caption;
        if (isset($this->dataField)) $o['dataField'] = $this->dataField;
        if (isset($this->dataType)) $o['dataType'] = $this->dataType;
        if (isset($this->visibleIndex)) $o['visibleIndex'] = $this->visibleIndex;
        if (isset($this->validationRules)) $o['validationRules'] = JsonConverters::toArray('ValidationRule', $this->validationRules);
        if (isset($this->lookup)) $o['lookup'] = JsonConverters::to('LookupGrid', $this->lookup);
        if (isset($this->allowEditing)) $o['allowEditing'] = $this->allowEditing;
        if (isset($this->encodeHtml)) $o['encodeHtml'] = $this->encodeHtml;
        if (isset($this->editorOptions)) $o['editorOptions'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','Object']), $this->editorOptions);
        if (isset($this->groupIndex)) $o['groupIndex'] = $this->groupIndex;
        return empty($o) ? new class(){} : $o;
    }
}

class EditingGrid implements JsonSerializable
{
    public function __construct(
        /** @var bool|null */
        public ?bool $allowAdding=null,
        /** @var bool|null */
        public ?bool $allowDeleting=null,
        /** @var bool|null */
        public ?bool $allowUpdating=null,
        /** @var string|null */
        public ?string $mode=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['allowAdding'])) $this->allowAdding = $o['allowAdding'];
        if (isset($o['allowDeleting'])) $this->allowDeleting = $o['allowDeleting'];
        if (isset($o['allowUpdating'])) $this->allowUpdating = $o['allowUpdating'];
        if (isset($o['mode'])) $this->mode = $o['mode'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->allowAdding)) $o['allowAdding'] = $this->allowAdding;
        if (isset($this->allowDeleting)) $o['allowDeleting'] = $this->allowDeleting;
        if (isset($this->allowUpdating)) $o['allowUpdating'] = $this->allowUpdating;
        if (isset($this->mode)) $o['mode'] = $this->mode;
        return empty($o) ? new class(){} : $o;
    }
}

class gridSummaryGroupItems implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $column=null,
        /** @var string|null */
        public ?string $displayFormat=null,
        /** @var bool|null */
        public ?bool $showInGroupFooter=null,
        /** @var string|null */
        public ?string $summaryType=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['column'])) $this->column = $o['column'];
        if (isset($o['displayFormat'])) $this->displayFormat = $o['displayFormat'];
        if (isset($o['showInGroupFooter'])) $this->showInGroupFooter = $o['showInGroupFooter'];
        if (isset($o['summaryType'])) $this->summaryType = $o['summaryType'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->column)) $o['column'] = $this->column;
        if (isset($this->displayFormat)) $o['displayFormat'] = $this->displayFormat;
        if (isset($this->showInGroupFooter)) $o['showInGroupFooter'] = $this->showInGroupFooter;
        if (isset($this->summaryType)) $o['summaryType'] = $this->summaryType;
        return empty($o) ? new class(){} : $o;
    }
}

class gridSummaryTotalItems implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $column=null,
        /** @var string|null */
        public ?string $displayFormat=null,
        /** @var string|null */
        public ?string $summaryType=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['column'])) $this->column = $o['column'];
        if (isset($o['displayFormat'])) $this->displayFormat = $o['displayFormat'];
        if (isset($o['summaryType'])) $this->summaryType = $o['summaryType'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->column)) $o['column'] = $this->column;
        if (isset($this->displayFormat)) $o['displayFormat'] = $this->displayFormat;
        if (isset($this->summaryType)) $o['summaryType'] = $this->summaryType;
        return empty($o) ? new class(){} : $o;
    }
}

class gridSummary implements JsonSerializable
{
    public function __construct(
        /** @var array<gridSummaryGroupItems>|null */
        public ?array $groupItems=null,
        /** @var array<gridSummaryTotalItems>|null */
        public ?array $totalItems=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['groupItems'])) $this->groupItems = JsonConverters::fromArray('gridSummaryGroupItems', $o['groupItems']);
        if (isset($o['totalItems'])) $this->totalItems = JsonConverters::fromArray('gridSummaryTotalItems', $o['totalItems']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->groupItems)) $o['groupItems'] = JsonConverters::toArray('gridSummaryGroupItems', $this->groupItems);
        if (isset($this->totalItems)) $o['totalItems'] = JsonConverters::toArray('gridSummaryTotalItems', $this->totalItems);
        return empty($o) ? new class(){} : $o;
    }
}

class dxDataGrid implements JsonSerializable
{
    public function __construct(
        /** @var array<ColumnGrid>|null */
        public ?array $columns=null,
        /** @var bool|null */
        public ?bool $showColumnLines=null,
        /** @var bool|null */
        public ?bool $showRowLines=null,
        /** @var bool|null */
        public ?bool $rowAlternationEnabled=null,
        /** @var bool|null */
        public ?bool $showBorders=null,
        /** @var EditingGrid|null */
        public ?EditingGrid $editing=null,
        /** @var gridSummary|null */
        public ?gridSummary $summary=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['columns'])) $this->columns = JsonConverters::fromArray('ColumnGrid', $o['columns']);
        if (isset($o['showColumnLines'])) $this->showColumnLines = $o['showColumnLines'];
        if (isset($o['showRowLines'])) $this->showRowLines = $o['showRowLines'];
        if (isset($o['rowAlternationEnabled'])) $this->rowAlternationEnabled = $o['rowAlternationEnabled'];
        if (isset($o['showBorders'])) $this->showBorders = $o['showBorders'];
        if (isset($o['editing'])) $this->editing = JsonConverters::from('EditingGrid', $o['editing']);
        if (isset($o['summary'])) $this->summary = JsonConverters::from('gridSummary', $o['summary']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->columns)) $o['columns'] = JsonConverters::toArray('ColumnGrid', $this->columns);
        if (isset($this->showColumnLines)) $o['showColumnLines'] = $this->showColumnLines;
        if (isset($this->showRowLines)) $o['showRowLines'] = $this->showRowLines;
        if (isset($this->rowAlternationEnabled)) $o['rowAlternationEnabled'] = $this->rowAlternationEnabled;
        if (isset($this->showBorders)) $o['showBorders'] = $this->showBorders;
        if (isset($this->editing)) $o['editing'] = JsonConverters::to('EditingGrid', $this->editing);
        if (isset($this->summary)) $o['summary'] = JsonConverters::to('gridSummary', $this->summary);
        return empty($o) ? new class(){} : $o;
    }
}

class DefinicionTabla implements JsonSerializable
{
    public function __construct(
        /** @var Tabla|null */
        public ?Tabla $Tabla=null,
        /** @var array<Columna>|null */
        public ?array $Columnas=null,
        /** @var array<DetalleJoinTabla>|null */
        public ?array $Lookups=null,
        /** @var array<Frame>|null */
        public ?array $Frames=null,
        /** @var array<DetalleIndices>|null */
        public ?array $DetalleLlave=null,
        /** @var dxForm|null */
        public ?dxForm $Form=null,
        /** @var dxDataGrid|null */
        public ?dxDataGrid $DataGrid=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Tabla'])) $this->Tabla = JsonConverters::from('Tabla', $o['Tabla']);
        if (isset($o['Columnas'])) $this->Columnas = JsonConverters::fromArray('Columna', $o['Columnas']);
        if (isset($o['Lookups'])) $this->Lookups = JsonConverters::fromArray('DetalleJoinTabla', $o['Lookups']);
        if (isset($o['Frames'])) $this->Frames = JsonConverters::fromArray('Frame', $o['Frames']);
        if (isset($o['DetalleLlave'])) $this->DetalleLlave = JsonConverters::fromArray('DetalleIndices', $o['DetalleLlave']);
        if (isset($o['Form'])) $this->Form = JsonConverters::from('dxForm', $o['Form']);
        if (isset($o['DataGrid'])) $this->DataGrid = JsonConverters::from('dxDataGrid', $o['DataGrid']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Tabla)) $o['Tabla'] = JsonConverters::to('Tabla', $this->Tabla);
        if (isset($this->Columnas)) $o['Columnas'] = JsonConverters::toArray('Columna', $this->Columnas);
        if (isset($this->Lookups)) $o['Lookups'] = JsonConverters::toArray('DetalleJoinTabla', $this->Lookups);
        if (isset($this->Frames)) $o['Frames'] = JsonConverters::toArray('Frame', $this->Frames);
        if (isset($this->DetalleLlave)) $o['DetalleLlave'] = JsonConverters::toArray('DetalleIndices', $this->DetalleLlave);
        if (isset($this->Form)) $o['Form'] = JsonConverters::to('dxForm', $this->Form);
        if (isset($this->DataGrid)) $o['DataGrid'] = JsonConverters::to('dxDataGrid', $this->DataGrid);
        return empty($o) ? new class(){} : $o;
    }
}

class ConsultaDatosDetalleRS implements JsonSerializable
{
    public function __construct(
        /** @var DefinicionTabla|null */
        public ?DefinicionTabla $Definicion=null,
        /** @var array<array<string,Object>>|null */
        public ?array $DatosConsulta=null,
        /** @var int */
        public int $TotalRegistros=0,
        /** @var int */
        public int $TotalGrupos=0,
        /** @var array<Object>|null */
        public ?array $SummaryList=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Definicion'])) $this->Definicion = JsonConverters::from('DefinicionTabla', $o['Definicion']);
        if (isset($o['DatosConsulta'])) $this->DatosConsulta = JsonConverters::fromArray('Dictionary<String,Object>', $o['DatosConsulta']);
        if (isset($o['TotalRegistros'])) $this->TotalRegistros = $o['TotalRegistros'];
        if (isset($o['TotalGrupos'])) $this->TotalGrupos = $o['TotalGrupos'];
        if (isset($o['SummaryList'])) $this->SummaryList = JsonConverters::fromArray('Object', $o['SummaryList']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Definicion)) $o['Definicion'] = JsonConverters::to('DefinicionTabla', $this->Definicion);
        if (isset($this->DatosConsulta)) $o['DatosConsulta'] = JsonConverters::toArray('Dictionary<String,Object>', $this->DatosConsulta);
        if (isset($this->TotalRegistros)) $o['TotalRegistros'] = $this->TotalRegistros;
        if (isset($this->TotalGrupos)) $o['TotalGrupos'] = $this->TotalGrupos;
        if (isset($this->SummaryList)) $o['SummaryList'] = JsonConverters::toArray('Object', $this->SummaryList);
        return empty($o) ? new class(){} : $o;
    }
}

PHP ConsultaDatosDetalleRQ DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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: application/json
Content-Type: application/json
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: application/json
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":[{}]}