1009 lines
39 KiB
Python
1009 lines
39 KiB
Python
from typing import Optional, Any, Dict
|
|
from pydantic import BaseModel, Field
|
|
from decimal import Decimal
|
|
|
|
# --- Legacy Table Domains (Tarea 1) ---
|
|
|
|
class SSisGenSettings(BaseModel):
|
|
"""
|
|
Legacy Table: SSisGen
|
|
General system parameters migrated from Clarion/WinDev.
|
|
"""
|
|
consecutivo: Optional[int] = None
|
|
dta: Optional[int] = None
|
|
dtaexpo: Optional[int] = None
|
|
subempresa: Optional[str] = None
|
|
patharch: Optional[str] = None
|
|
patharchtransmision: Optional[str] = None
|
|
pathtransexpo: Optional[str] = None
|
|
pathrespuesta: Optional[str] = None
|
|
patharchped: Optional[str] = None
|
|
patharchpedconsm: Optional[str] = None
|
|
pathgenimpotemp: Optional[str] = None
|
|
pathgenexpo: Optional[str] = None
|
|
actseguridad: Optional[int] = None
|
|
controldes: Optional[int] = None
|
|
diadesactual: Optional[int] = None
|
|
diavencimiento: Optional[int] = None
|
|
mensajevenc: Optional[int] = None
|
|
fechades: Optional[int] = None
|
|
factoriva: Optional[Decimal] = None
|
|
validasifra: Optional[int] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
calvalbasetcped: Optional[int] = None
|
|
calvalbasetcpedexpo: Optional[int] = None
|
|
filtrocantidad: Optional[Decimal] = None
|
|
muestraarchcodbarras: Optional[int] = None
|
|
datoshist: Optional[int] = None
|
|
tipovenro: Optional[str] = None
|
|
cantvenro: Optional[int] = None
|
|
costoplanta: Optional[Decimal] = None
|
|
firmapacking: Optional[int] = None
|
|
advertenciatm: Optional[int] = None
|
|
tomarsaldosvenc: Optional[int] = None
|
|
costoimpofijo: Optional[int] = None
|
|
valparteexiste: Optional[int] = None
|
|
valmanifusado: Optional[int] = None
|
|
temporalfechapago: Optional[int] = None
|
|
asignadiasantdesc: Optional[int] = None
|
|
diasantdesc: Optional[int] = None
|
|
deshabilitardescparte: Optional[int] = None
|
|
deshabilitardescparteing: Optional[int] = None
|
|
asignafracameparte: Optional[int] = None
|
|
validadecencant: Optional[int] = None
|
|
usartranspamedocame: Optional[int] = None
|
|
mostraradvertenciaro: Optional[int] = None
|
|
escondaamexpacking: Optional[int] = None
|
|
calcdutypacking: Optional[int] = None
|
|
parammultiples: Optional[int] = None
|
|
fraccnivelpais: Optional[int] = None
|
|
covefechaemision: Optional[int] = None
|
|
valordllstcfacturaexpo: Optional[int] = None
|
|
interfaceaaconsolidada: Optional[int] = None
|
|
interfaceaatcfpff: Optional[str] = None
|
|
incluirobscoveobsimpo: Optional[int] = None
|
|
agregarincreimpo: Optional[int] = None
|
|
componentebom: Optional[int] = None
|
|
limitesubensamble: Optional[int] = None
|
|
actpdfreportes: Optional[int] = None
|
|
patharchpdfimpo: Optional[str] = None
|
|
patharchpdfexpo: Optional[str] = None
|
|
noimprimircons: Optional[int] = None
|
|
mostraradvertenciarovalor: Optional[int] = None
|
|
partesypedimentosporcliente: Optional[str] = None
|
|
mensajesvurfc: Optional[int] = None
|
|
mostrarpackinglistingles: Optional[int] = None
|
|
omitirempaqueencodigobarras: Optional[int] = None
|
|
restringepaisimpo: Optional[int] = None
|
|
bloqueoaldesactivarnumerodeparte: Optional[int] = None
|
|
restringpaisexpo: Optional[int] = None
|
|
geninformeanexo31: Optional[str] = None
|
|
utilizarfechapagopeddeundiaanterior: Optional[int] = None
|
|
utilizarequivalenciasdeumpornumerodeparte: Optional[int] = None
|
|
utilizartitulosalternativosimpresionfactura: Optional[int] = None
|
|
usarfactorconversionpornumerodeparte: Optional[int] = None
|
|
usarvude128o256: Optional[int] = None
|
|
usartcdelafechapagopedimpoendescarga: Optional[int] = None
|
|
solicitarcontrasenaadministrador: Optional[int] = None
|
|
agregarnumeroembarque: Optional[int] = None
|
|
utilizarumdeexistenciaentransmisionvu: Optional[int] = None
|
|
utilizarcodigodebrokerdeclienteenmainx30: Optional[int] = None
|
|
hojacalculosepararincrementablesanexo3: Optional[int] = None
|
|
hojacalculodesglosefacturaanexo3: Optional[int] = None
|
|
usarvaloragregadoenfacturaamericana: Optional[int] = None
|
|
ocultarinformacionfraccion: Optional[int] = None
|
|
resaltarsaldostempconcolor: Optional[int] = None
|
|
valoragregadoenfacturamexicana: Optional[int] = None
|
|
validarsectorprosecr8: Optional[int] = None
|
|
agregarsubtotalinterfazaa: Optional[int] = None
|
|
utilizarnombregenericomainx30: Optional[int] = None
|
|
utilizartcrespectoatipoped: Optional[int] = None
|
|
tomardecimalescompletos: Optional[int] = None
|
|
incluirremesaeninterfazaawinsaai: Optional[int] = None
|
|
cambiarpesosporcostounitario: Optional[int] = None
|
|
utilizarsolopartesnaftaenco: Optional[int] = None
|
|
bloqueodeediciondefacturas: Optional[int] = None
|
|
reasignafraccionclase: Optional[int] = None
|
|
calcularcostounitarioenbaseavalortotal: Optional[int] = None
|
|
parametroauxiliar: Optional[int] = None
|
|
usarcontroldefechasdeversion: Optional[int] = None
|
|
desactivaciondemodulos: Optional[int] = None
|
|
imprimirfacturaalterna: Optional[int] = None
|
|
activarexpedienteelectronico: Optional[int] = None
|
|
activarcatalogofraccionesamericanassifra: Optional[int] = None
|
|
informacionamericanasubtotal: Optional[int] = None
|
|
mostrarprogramaimmexprosec: Optional[int] = None
|
|
costounitarioporempaquefac: Optional[int] = None
|
|
transmitirfacalterna: Optional[int] = None
|
|
muestra_copias_codbarras: Optional[int] = None
|
|
activar_revision_fracciones: Optional[int] = None
|
|
usarcoveenarchsaaim3: Optional[int] = None
|
|
DownloadFTP: Optional[str] = None
|
|
MinsDownLFTP: Optional[int] = None
|
|
DownloadFTPPath: Optional[str] = None
|
|
DescargarFTPoLocal: Optional[str] = None
|
|
ServerFTP: Optional[str] = None
|
|
UserFTP: Optional[str] = None
|
|
PasswordFTP: Optional[str] = None
|
|
DirectorioFTP: Optional[str] = None
|
|
PathLocalParaDescDe: Optional[str] = None
|
|
AgregarRemplazarAutomatico: Optional[str] = None
|
|
ActivarProcesoVEquipment: Optional[int] = None
|
|
ActivarProcesoDesperdicioJDEdwards: Optional[int] = None
|
|
UsarFechaEmisionFactura: Optional[int] = None
|
|
Campo18Valsaaim3: Optional[int] = None
|
|
actvaloragre: Optional[int] = None
|
|
valoragregadogen: Optional[Decimal] = None
|
|
|
|
|
|
class SSisGen2Settings(BaseModel):
|
|
"""
|
|
Legacy Table: SSisGen2
|
|
Extended system parameters.
|
|
"""
|
|
consecutivo: Optional[int] = None
|
|
actvaloragre: Optional[int] = None
|
|
valoragregadogen: Optional[Decimal] = None
|
|
|
|
|
|
class SSisGen3Settings(BaseModel):
|
|
"""
|
|
Legacy Table: SSisGen3
|
|
Additional name-value parameters.
|
|
"""
|
|
parametro: Optional[str] = None
|
|
valorparametro: Optional[int] = None
|
|
|
|
|
|
class SSisMexSettings(BaseModel):
|
|
"""Legacy Table: SSisMex (Mexican Purchases)"""
|
|
consecutivo: Optional[int] = None
|
|
prefijocm: Optional[str] = None
|
|
consecutivocm: Optional[str] = None
|
|
porparteclasemex: Optional[str] = None
|
|
porparteclaseame: Optional[str] = None
|
|
proveedor: Optional[str] = None
|
|
vendidoconsignado: Optional[str] = None
|
|
vendidoa: Optional[str] = None
|
|
enviadotransferido: Optional[str] = None
|
|
enviadoa: Optional[str] = None
|
|
flete: Optional[Decimal] = None
|
|
paisorigenmex: Optional[int] = None
|
|
numpartemex: Optional[int] = None
|
|
firmafmex: Optional[str] = None
|
|
fraccionimp: Optional[int] = None
|
|
tipofraccmex: Optional[int] = None
|
|
tasafraccmex: Optional[int] = None
|
|
umequivalentemex: Optional[int] = None
|
|
numparteame: Optional[int] = None
|
|
fraccioname: Optional[int] = None
|
|
paisorigename: Optional[int] = None
|
|
umequivalenteame: Optional[int] = None
|
|
firmafame: Optional[str] = None
|
|
impordencomp: Optional[int] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
decimalescosto: Optional[int] = None
|
|
tipomoneda: Optional[str] = None
|
|
clavemoneda: Optional[str] = None
|
|
umauxiliarmex: Optional[int] = None
|
|
umalternamex: Optional[int] = None
|
|
transportista: Optional[str] = None
|
|
conductor: Optional[str] = None
|
|
transporte: Optional[str] = None
|
|
numtransporte: Optional[str] = None
|
|
observacione: Optional[str] = None
|
|
observacioni: Optional[str] = None
|
|
clavebultos: Optional[str] = None
|
|
packingordencompra: Optional[int] = None
|
|
firmaelectronica: Optional[str] = None
|
|
incluirlineadelpo: Optional[int] = None
|
|
lineapersonaaa: Optional[int] = None
|
|
agregarvaenprodterminados: Optional[int] = None
|
|
ocultarfechahora: Optional[int] = None
|
|
|
|
|
|
class SSisDefSettings(BaseModel):
|
|
"""Legacy Table: SSisDef (Definitive Import)"""
|
|
consecutivo: Optional[int] = None
|
|
prefijoimpo: Optional[str] = None
|
|
consecutivoimpo: Optional[str] = None
|
|
porparteclasemex: Optional[str] = None
|
|
porparteclaseame: Optional[str] = None
|
|
pedimento: Optional[str] = None
|
|
tipo: Optional[str] = None
|
|
proveedor: Optional[str] = None
|
|
vendidoconsignado: Optional[str] = None
|
|
vendidoa: Optional[str] = None
|
|
enviadotransferido: Optional[str] = None
|
|
enviadoa: Optional[str] = None
|
|
aaduanal: Optional[str] = None
|
|
incoterm: Optional[str] = None
|
|
flete: Optional[Decimal] = None
|
|
identificador: Optional[str] = None
|
|
firmafmex: Optional[str] = None
|
|
firmafame: Optional[str] = None
|
|
codigobarras: Optional[int] = None
|
|
numpartemex: Optional[int] = None
|
|
numparteame: Optional[int] = None
|
|
fraccionimp: Optional[int] = None
|
|
tasafraccmex: Optional[int] = None
|
|
tipofraccmex: Optional[int] = None
|
|
paisorigenmex: Optional[int] = None
|
|
umequivalentemex: Optional[int] = None
|
|
umauxiliarmex: Optional[int] = None
|
|
fraccioname: Optional[int] = None
|
|
paisorigename: Optional[int] = None
|
|
umequivalenteame: Optional[int] = None
|
|
impordencomp: Optional[int] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
decimalescosto: Optional[int] = None
|
|
tipomoneda: Optional[str] = None
|
|
clavemoneda: Optional[str] = None
|
|
cantlimite: Optional[Decimal] = None
|
|
pesolimite: Optional[Decimal] = None
|
|
valorlimite: Optional[Decimal] = None
|
|
umalternamex: Optional[int] = None
|
|
restringeimpopt: Optional[int] = None
|
|
partecomplementariamex: Optional[int] = None
|
|
pagoimpuesto: Optional[str] = None
|
|
formapago: Optional[str] = None
|
|
metvalor: Optional[str] = None
|
|
transportista: Optional[str] = None
|
|
aaduanalame: Optional[str] = None
|
|
conductor: Optional[str] = None
|
|
transporte: Optional[str] = None
|
|
numtransporte: Optional[str] = None
|
|
packingpedclave: Optional[int] = None
|
|
porordenporocpack: Optional[str] = None
|
|
actualizarpartepartida: Optional[int] = None
|
|
observacione: Optional[str] = None
|
|
observacioni: Optional[str] = None
|
|
clavebultos: Optional[str] = None
|
|
partecomplemexpartida: Optional[int] = None
|
|
cantlimitemin: Optional[Decimal] = None
|
|
pesolimitemin: Optional[Decimal] = None
|
|
valorlimitemin: Optional[Decimal] = None
|
|
packingordencompra: Optional[int] = None
|
|
firmaelectronica: Optional[str] = None
|
|
solicitarcontrasenaadministrador: Optional[int] = None
|
|
incluirlineadelpo: Optional[int] = None
|
|
lineapersonaaa: Optional[int] = None
|
|
agregarvaenprodterminados: Optional[int] = None
|
|
imprimirlote: Optional[int] = None
|
|
imprimirnumentrada: Optional[int] = None
|
|
ocultarfechahora: Optional[int] = None
|
|
|
|
|
|
class SSisExpoSettings(BaseModel):
|
|
"""Legacy Table: SSisExpo (Exports)"""
|
|
tipofactura: Optional[str] = None
|
|
porparteclasemex: Optional[str] = None
|
|
porparteclaseame: Optional[str] = None
|
|
prefijoexpo: Optional[str] = None
|
|
consecutivoexpo: Optional[str] = None
|
|
pedimento: Optional[str] = None
|
|
proveedor: Optional[str] = None
|
|
vendidoconsignado: Optional[str] = None
|
|
vendidoa: Optional[str] = None
|
|
enviadotransferido: Optional[str] = None
|
|
enviadoa: Optional[str] = None
|
|
vendidopor: Optional[str] = None
|
|
aaduanal: Optional[str] = None
|
|
tipo: Optional[str] = None
|
|
incoterm: Optional[str] = None
|
|
flete: Optional[Decimal] = None
|
|
identificador: Optional[str] = None
|
|
tipomoneda: Optional[str] = None
|
|
moneda: Optional[str] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
decimalescosto: Optional[int] = None
|
|
numpartemex: Optional[int] = None
|
|
paisorigenmex: Optional[int] = None
|
|
fraccionexp: Optional[int] = None
|
|
tasafraccmex: Optional[int] = None
|
|
costounitmex: Optional[int] = None
|
|
ordencompmex: Optional[int] = None
|
|
consfacmex: Optional[int] = None
|
|
umequivalentemex: Optional[int] = None
|
|
ocultarempaquemex: Optional[int] = None
|
|
costounitmpmex: Optional[int] = None
|
|
codigobarras: Optional[int] = None
|
|
partecomplementariamex: Optional[int] = None
|
|
valordllsmexpesos: Optional[int] = None
|
|
cantpncodbar: Optional[int] = None
|
|
dtacerocodbar: Optional[int] = None
|
|
firmafmex: Optional[str] = None
|
|
numparteame: Optional[int] = None
|
|
firmafame: Optional[str] = None
|
|
fraccioname: Optional[int] = None
|
|
paisorigename: Optional[int] = None
|
|
ordencompame: Optional[int] = None
|
|
umequivalenteame: Optional[int] = None
|
|
fdainformacioname: Optional[int] = None
|
|
paisopcame: Optional[int] = None
|
|
muestrafree: Optional[int] = None
|
|
fraccmexdes: Optional[int] = None
|
|
tipofraccmexdes: Optional[int] = None
|
|
colvalordes: Optional[int] = None
|
|
colpesodes: Optional[int] = None
|
|
descargaclase: Optional[int] = None
|
|
descargasust: Optional[int] = None
|
|
descargadef: Optional[int] = None
|
|
ventqueueact: Optional[int] = None
|
|
codigoscac: Optional[int] = None
|
|
formadesperdicio: Optional[str] = None
|
|
calvalorbasecosto: Optional[int] = None
|
|
calvabasecapt: Optional[int] = None
|
|
calpesobasedescarga: Optional[int] = None
|
|
calempaquebasecapt: Optional[int] = None
|
|
ocultcantcons: Optional[int] = None
|
|
prefijofraccmult: Optional[int] = None
|
|
cantlimite: Optional[Decimal] = None
|
|
pesolimite: Optional[Decimal] = None
|
|
valorlimite: Optional[Decimal] = None
|
|
costamepaisparte: Optional[int] = None
|
|
basecostompototal: Optional[str] = None
|
|
umequivalentemex2: Optional[int] = None
|
|
umequivalenteame2: Optional[int] = None
|
|
totalequivmex: Optional[int] = None
|
|
totalequivame: Optional[int] = None
|
|
infoadicional: Optional[str] = None
|
|
restringeexpomp: Optional[int] = None
|
|
calvatotagremp: Optional[str] = None
|
|
activaadvpedrtv1: Optional[int] = None
|
|
asignafrac9801: Optional[int] = None
|
|
valorexcfrac9801: Optional[Decimal] = None
|
|
pagoimpuesto: Optional[str] = None
|
|
formapago: Optional[str] = None
|
|
scrapsolonoduty: Optional[int] = None
|
|
descextraamepartes: Optional[int] = None
|
|
incambioregdesc: Optional[int] = None
|
|
escambioregimen: Optional[str] = None
|
|
descnocontemcant: Optional[int] = None
|
|
metvalor: Optional[str] = None
|
|
ocultarempaqueame: Optional[int] = None
|
|
transportista: Optional[str] = None
|
|
aaduanalame: Optional[str] = None
|
|
pesonetodesdiffac: Optional[Decimal] = None
|
|
enviadoporvendidopor: Optional[str] = None
|
|
conductor: Optional[str] = None
|
|
transporte: Optional[str] = None
|
|
numtransporte: Optional[str] = None
|
|
observacione: Optional[str] = None
|
|
observacioni: Optional[str] = None
|
|
clavebultos: Optional[str] = None
|
|
ocultacolva: Optional[int] = None
|
|
calccostosamebasemex: Optional[int] = None
|
|
proveedorexportador: Optional[str] = None
|
|
tipofraccmex: Optional[int] = None
|
|
partecomplemexpartida: Optional[int] = None
|
|
validacantparcandes: Optional[int] = None
|
|
cantlimitemin: Optional[Decimal] = None
|
|
pesolimitemin: Optional[Decimal] = None
|
|
valorlimitemin: Optional[Decimal] = None
|
|
costosamepais: Optional[str] = None
|
|
incluirfracamebil: Optional[int] = None
|
|
solicitarpswdactual: Optional[int] = None
|
|
solicitarpswddesactual: Optional[int] = None
|
|
buscarsaldosrecientes: Optional[int] = None
|
|
packingordenventa: Optional[int] = None
|
|
imprimirordenventa: Optional[int] = None
|
|
firmaelectronica: Optional[str] = None
|
|
mpf: Optional[int] = None
|
|
valormpf: Optional[Decimal] = None
|
|
colcantporpeso: Optional[int] = None
|
|
packingpedclave: Optional[int] = None
|
|
generafacturaimd: Optional[str] = None
|
|
generafacturaimdenbasea: Optional[str] = None
|
|
solicitarcontrasenaadministrador: Optional[int] = None
|
|
incluirlineadelpo: Optional[int] = None
|
|
valorpacking1dlls: Optional[int] = None
|
|
tomarvalormexenfacame: Optional[int] = None
|
|
lineapersonaaa: Optional[int] = None
|
|
calamebasemexmp: Optional[int] = None
|
|
calamebasemexva: Optional[int] = None
|
|
calamebasemexempaque: Optional[int] = None
|
|
usarvaenfacturaamericana: Optional[int] = None
|
|
activarfechacortesaldos: Optional[int] = None
|
|
fechacortesaldos: Optional[int] = None
|
|
imprimirlote: Optional[int] = None
|
|
imprimirnumentrada: Optional[int] = None
|
|
respaldardescargaendescargam: Optional[int] = None
|
|
ocultarfechahora: Optional[int] = None
|
|
calcularvaloresamericanosenbaseapartida: Optional[int] = None
|
|
validarestatusped: Optional[int] = None
|
|
descapais: Optional[int] = None
|
|
|
|
|
|
class SSisImpoSettings(BaseModel):
|
|
"""Legacy Table: SSisImpo (General Import)"""
|
|
consecutivo: Optional[int] = None
|
|
prefijoimpo: Optional[str] = None
|
|
prefijocr: Optional[str] = None
|
|
consecutivoimpo: Optional[str] = None
|
|
consecutivocr: Optional[int] = None
|
|
porparteclasemex: Optional[str] = None
|
|
porparteclaseame: Optional[str] = None
|
|
pedimento: Optional[str] = None
|
|
tipo: Optional[str] = None
|
|
proveedor: Optional[str] = None
|
|
vendidoconsignado: Optional[str] = None
|
|
vendidoa: Optional[str] = None
|
|
enviadotransferido: Optional[str] = None
|
|
enviadoa: Optional[str] = None
|
|
aaduanal: Optional[str] = None
|
|
incoterm: Optional[str] = None
|
|
flete: Optional[Decimal] = None
|
|
identificador: Optional[str] = None
|
|
numpartemex: Optional[int] = None
|
|
numparteame: Optional[int] = None
|
|
firmafmex: Optional[str] = None
|
|
firmafame: Optional[str] = None
|
|
codigobarras: Optional[int] = None
|
|
fraccionimp: Optional[int] = None
|
|
tasafraccmex: Optional[int] = None
|
|
tipofraccmex: Optional[int] = None
|
|
paisorigenmex: Optional[int] = None
|
|
umequivalentemex: Optional[int] = None
|
|
umauxiliarmex: Optional[int] = None
|
|
perpagrenglon: Optional[int] = None
|
|
fraccioname: Optional[int] = None
|
|
paisorigename: Optional[int] = None
|
|
umequivalenteame: Optional[int] = None
|
|
impordencomp: Optional[int] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
decimalescosto: Optional[int] = None
|
|
tipomoneda: Optional[str] = None
|
|
clavemoneda: Optional[str] = None
|
|
cantlimite: Optional[Decimal] = None
|
|
pesolimite: Optional[Decimal] = None
|
|
valorlimite: Optional[Decimal] = None
|
|
valorlimitepar: Optional[Decimal] = None
|
|
umalternamex: Optional[int] = None
|
|
restringeimpopt: Optional[int] = None
|
|
controlremesa: Optional[str] = None
|
|
remesainicio: Optional[int] = None
|
|
remesafinal: Optional[int] = None
|
|
leyendafacame: Optional[str] = None
|
|
calcigibasecapt: Optional[int] = None
|
|
umequivalentemex2: Optional[int] = None
|
|
umequivalenteame2: Optional[int] = None
|
|
partecomplementariamex: Optional[int] = None
|
|
pagoimpuesto: Optional[str] = None
|
|
formapago: Optional[str] = None
|
|
metvalor: Optional[str] = None
|
|
transportista: Optional[str] = None
|
|
aaduanalame: Optional[str] = None
|
|
conductor: Optional[str] = None
|
|
transporte: Optional[str] = None
|
|
numtransporte: Optional[str] = None
|
|
packingpedclave: Optional[int] = None
|
|
porordenporocpack: Optional[str] = None
|
|
actualizarpartepartida: Optional[int] = None
|
|
observacione: Optional[str] = None
|
|
observacioni: Optional[str] = None
|
|
clavebultos: Optional[str] = None
|
|
partecomplemexpartida: Optional[int] = None
|
|
cantlimitemin: Optional[Decimal] = None
|
|
pesolimitemin: Optional[Decimal] = None
|
|
valorlimitemin: Optional[Decimal] = None
|
|
valorlimiteparmin: Optional[Decimal] = None
|
|
packingordencompra: Optional[int] = None
|
|
firmaelectronica: Optional[str] = None
|
|
solicitarcontrasenaadministrador: Optional[int] = None
|
|
incluirlineadelpo: Optional[int] = None
|
|
lineapersonaaa: Optional[int] = None
|
|
agregarvaenprodterminados: Optional[int] = None
|
|
imprimirlote: Optional[int] = None
|
|
imprimirnumentrada: Optional[int] = None
|
|
ocultarfechahora: Optional[int] = None
|
|
|
|
|
|
|
|
|
|
|
|
class QSisCMexSettings(BaseModel):
|
|
"""Legacy Table: QSisCMex (Fixed Asset Mexican Purchase)"""
|
|
consecutivo: Optional[int] = None
|
|
prefijocm: Optional[str] = None
|
|
consecutivocm: Optional[str] = None
|
|
proveedor: Optional[str] = None
|
|
vendidoconsignado: Optional[str] = None
|
|
vendidoa: Optional[str] = None
|
|
enviadotransferido: Optional[str] = None
|
|
enviadoa: Optional[str] = None
|
|
flete: Optional[Decimal] = None
|
|
paisorigenmex: Optional[int] = None
|
|
firmafmex: Optional[str] = None
|
|
fraccionimp: Optional[int] = None
|
|
tipofraccmex: Optional[int] = None
|
|
tasafraccmex: Optional[int] = None
|
|
impordencomp: Optional[int] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
decimalescosto: Optional[int] = None
|
|
tipomoneda: Optional[str] = None
|
|
clavemoneda: Optional[str] = None
|
|
transportista: Optional[str] = None
|
|
conductor: Optional[str] = None
|
|
transporte: Optional[str] = None
|
|
numtransporte: Optional[str] = None
|
|
observacione: Optional[str] = None
|
|
observacioni: Optional[str] = None
|
|
packingordencompra: Optional[int] = None
|
|
imprimirlote: Optional[int] = None
|
|
imprimirnumentrada: Optional[int] = None
|
|
|
|
|
|
class QSisDefSettings(BaseModel):
|
|
"""Legacy Table: QSisDef (Fixed Asset Definitive Import)"""
|
|
consecutivo: Optional[int] = None
|
|
prefijoimpo: Optional[str] = None
|
|
consecutivoimpo: Optional[str] = None
|
|
pedimento: Optional[str] = None
|
|
tipo: Optional[str] = None
|
|
proveedor: Optional[str] = None
|
|
vendidoconsignado: Optional[str] = None
|
|
vendidoa: Optional[str] = None
|
|
enviadotransferido: Optional[str] = None
|
|
enviadoa: Optional[str] = None
|
|
aaduanal: Optional[str] = None
|
|
incoterm: Optional[str] = None
|
|
flete: Optional[Decimal] = None
|
|
identificador: Optional[str] = None
|
|
firmafmex: Optional[str] = None
|
|
firmafame: Optional[str] = None
|
|
generarassettag: Optional[int] = None
|
|
codigobarras: Optional[int] = None
|
|
fraccionimp: Optional[int] = None
|
|
tasafraccmex: Optional[int] = None
|
|
tipofraccmex: Optional[int] = None
|
|
fraccioname: Optional[int] = None
|
|
paisorigenmex: Optional[int] = None
|
|
paisorigename: Optional[int] = None
|
|
impordencomp: Optional[int] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
decimalescosto: Optional[int] = None
|
|
tipomoneda: Optional[str] = None
|
|
tipomn: Optional[str] = None
|
|
tipome: Optional[str] = None
|
|
clavemoneda: Optional[str] = None
|
|
controlremesa: Optional[str] = None
|
|
remesainicio: Optional[int] = None
|
|
remesafinal: Optional[int] = None
|
|
cantlimite: Optional[Decimal] = None
|
|
pesolimite: Optional[Decimal] = None
|
|
valorlimite: Optional[Decimal] = None
|
|
metvalor: Optional[str] = None
|
|
pagoimpuesto: Optional[str] = None
|
|
formapago: Optional[str] = None
|
|
transportista: Optional[str] = None
|
|
aaduanalame: Optional[str] = None
|
|
conductor: Optional[str] = None
|
|
transporte: Optional[str] = None
|
|
numtransporte: Optional[str] = None
|
|
observacione: Optional[str] = None
|
|
observacioni: Optional[str] = None
|
|
numpartemex: Optional[int] = None
|
|
numparteame: Optional[int] = None
|
|
cantlimitemin: Optional[Decimal] = None
|
|
pesolimitemin: Optional[Decimal] = None
|
|
valorlimitemin: Optional[Decimal] = None
|
|
actualizarpartepartida: Optional[int] = None
|
|
packingordencompra: Optional[int] = None
|
|
solicitarcontrasenaadministrador: Optional[int] = None
|
|
imprimirlote: Optional[int] = None
|
|
imprimirnumentrada: Optional[int] = None
|
|
|
|
|
|
class QSisGenSettings(BaseModel):
|
|
"""Legacy Table: QSisGen (Fixed Asset General)"""
|
|
consecutivo: Optional[int] = None
|
|
dta: Optional[int] = None
|
|
dtaexpo: Optional[int] = None
|
|
subempresa: Optional[str] = None
|
|
patharch: Optional[str] = None
|
|
patharchtransmision: Optional[str] = None
|
|
pathrespuesta: Optional[str] = None
|
|
patharchped: Optional[str] = None
|
|
patharchpedconsm: Optional[str] = None
|
|
pathgenimpotemp: Optional[str] = None
|
|
pathgenexpo: Optional[str] = None
|
|
aplicapermat: Optional[int] = None
|
|
actseguridad: Optional[int] = None
|
|
controldes: Optional[int] = None
|
|
diadesactual: Optional[int] = None
|
|
fechades: Optional[int] = None
|
|
ubiplanta: Optional[str] = None
|
|
datoshistoricos: Optional[int] = None
|
|
tipovenro: Optional[str] = None
|
|
cantvenro: Optional[int] = None
|
|
omitirimposubpcodbarras: Optional[str] = None
|
|
muestraarchcodbarras: Optional[int] = None
|
|
calvalbasetcped: Optional[int] = None
|
|
calvalbasetcpedexpo: Optional[int] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
factoriva: Optional[Decimal] = None
|
|
filtrocantidad: Optional[Decimal] = None
|
|
firmapacking: Optional[int] = None
|
|
advertenciatm: Optional[int] = None
|
|
calcdepreciacion: Optional[str] = None
|
|
valmanifusado: Optional[int] = None
|
|
validadecencant: Optional[int] = None
|
|
mostraradvertenciaro: Optional[int] = None
|
|
usartranspamedocame: Optional[int] = None
|
|
escondaamexpacking: Optional[int] = None
|
|
cantvscantseries: Optional[int] = None
|
|
covefechaemision: Optional[int] = None
|
|
interfaceaaconsolidada: Optional[int] = None
|
|
interfaceaatcfpff: Optional[str] = None
|
|
incluirobscoveobsimpo: Optional[int] = None
|
|
agregarincreimpo: Optional[int] = None
|
|
repdescargolineal: Optional[int] = None
|
|
identificadornodoseriecove: Optional[int] = None
|
|
actpdfreportes: Optional[int] = None
|
|
patharchpdfimpo: Optional[str] = None
|
|
patharchpdfexpo: Optional[str] = None
|
|
mensajesvurfc: Optional[int] = None
|
|
mostrarpackinglistingles: Optional[int] = None
|
|
enviarsubpartidascove: Optional[int] = None
|
|
restringepaisimpo: Optional[int] = None
|
|
restringpaisexpo: Optional[int] = None
|
|
utilizarfechapagopeddeundiaanterior: Optional[int] = None
|
|
utilizartitulosalternativosimpresionfactura: Optional[int] = None
|
|
usartcdelafechapagopedimpoendescarga: Optional[int] = None
|
|
usarvude128o256: Optional[int] = None
|
|
agregarnumeroembarque: Optional[int] = None
|
|
utilizarumdeexistenciaentransmisionvu: Optional[int] = None
|
|
utilizarcodigodebrokerdeclienteenmainx30: Optional[int] = None
|
|
hojacalculosepararincrementablesanexo3: Optional[int] = None
|
|
hojacalculodesglosefacturaanexo3: Optional[int] = None
|
|
utilizarnombregenericomainx30: Optional[int] = None
|
|
utilizartcrespectoatipoped: Optional[int] = None
|
|
utilizarsolopartesnaftaenco: Optional[int] = None
|
|
cambiarpesosporcostounitario: Optional[int] = None
|
|
bloqueodeediciondefacturas: Optional[int] = None
|
|
calcularcostounitarioenbaseavalortotalscaf: Optional[int] = None
|
|
impresionfacturaalterna: Optional[int] = None
|
|
transmitirfacalterna: Optional[int] = None
|
|
|
|
|
|
class QSisExpoRepSettings(BaseModel):
|
|
"""Legacy Table: QSisExpoRep (Fixed Asset Export Repeat?)"""
|
|
tipofactura: Optional[str] = None
|
|
prefijoexpo: Optional[str] = None
|
|
consecutivoexpo: Optional[str] = None
|
|
pedimento: Optional[str] = None
|
|
tipo: Optional[str] = None
|
|
proveedor: Optional[str] = None
|
|
vendidoconsignado: Optional[str] = None
|
|
vendidoa: Optional[str] = None
|
|
enviadotransferido: Optional[str] = None
|
|
enviadoa: Optional[str] = None
|
|
vendidopor: Optional[str] = None
|
|
aaduanal: Optional[str] = None
|
|
incoterm: Optional[str] = None
|
|
flete: Optional[Decimal] = None
|
|
identificador: Optional[str] = None
|
|
codigobarras: Optional[int] = None
|
|
cantpncodbar: Optional[int] = None
|
|
dtacerocodbar: Optional[int] = None
|
|
cbarrasvalor: Optional[str] = None
|
|
firmafmex: Optional[str] = None
|
|
fraccionexp: Optional[int] = None
|
|
tasafraccmex: Optional[int] = None
|
|
tipofraccmex: Optional[int] = None
|
|
numpartemex: Optional[int] = None
|
|
paisorigenmex: Optional[int] = None
|
|
firmafame: Optional[str] = None
|
|
fraccioname: Optional[int] = None
|
|
paisorigename: Optional[int] = None
|
|
numparteame: Optional[int] = None
|
|
codigoscac: Optional[int] = None
|
|
impordencomp: Optional[int] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
decimalescosto: Optional[int] = None
|
|
tipomoneda: Optional[str] = None
|
|
clavemoneda: Optional[str] = None
|
|
tipomn: Optional[str] = None
|
|
tipome: Optional[str] = None
|
|
mostrarvalact: Optional[int] = None
|
|
pepsporclase: Optional[int] = None
|
|
pepsporfraccion: Optional[int] = None
|
|
pepspordescripcion: Optional[int] = None
|
|
cantlimite: Optional[Decimal] = None
|
|
pesolimite: Optional[Decimal] = None
|
|
valorlimite: Optional[Decimal] = None
|
|
ventqueueact: Optional[int] = None
|
|
valfacttc: Optional[str] = None
|
|
metvalor: Optional[str] = None
|
|
pagoimpuesto: Optional[str] = None
|
|
formapago: Optional[str] = None
|
|
transportista: Optional[str] = None
|
|
aaduanalame: Optional[str] = None
|
|
enviadoporvendidopor: Optional[str] = None
|
|
conductor: Optional[str] = None
|
|
transporte: Optional[str] = None
|
|
numtransporte: Optional[str] = None
|
|
observacione: Optional[str] = None
|
|
observacioni: Optional[str] = None
|
|
proveedorexportador: Optional[str] = None
|
|
cantlimitemin: Optional[Decimal] = None
|
|
pesolimitemin: Optional[Decimal] = None
|
|
valorlimitemin: Optional[Decimal] = None
|
|
solicitarpswdactual: Optional[int] = None
|
|
solicitarpswddesactual: Optional[int] = None
|
|
packingordenventa: Optional[int] = None
|
|
imprimirpo: Optional[int] = None
|
|
fdainformacioname: Optional[int] = None
|
|
packingpedclave: Optional[int] = None
|
|
solicitarcontrasenaadministrador: Optional[int] = None
|
|
imprimirlote: Optional[int] = None
|
|
imprimirnumentrada: Optional[int] = None
|
|
|
|
|
|
class QSisImpoSettings(BaseModel):
|
|
"""Legacy Table: QSisImpo (Fixed Asset Import)"""
|
|
consecutivo: Optional[int] = None
|
|
prefijoimpo: Optional[str] = None
|
|
consecutivoimpo: Optional[str] = None
|
|
pedimento: Optional[str] = None
|
|
tipo: Optional[str] = None
|
|
proveedor: Optional[str] = None
|
|
vendidoconsignado: Optional[str] = None
|
|
vendidoa: Optional[str] = None
|
|
enviadotransferido: Optional[str] = None
|
|
enviadoa: Optional[str] = None
|
|
aaduanal: Optional[str] = None
|
|
incoterm: Optional[str] = None
|
|
flete: Optional[Decimal] = None
|
|
identificador: Optional[str] = None
|
|
firmafmex: Optional[str] = None
|
|
firmafame: Optional[str] = None
|
|
codigobarras: Optional[int] = None
|
|
fraccionimp: Optional[int] = None
|
|
tasafraccmex: Optional[int] = None
|
|
tipofraccmex: Optional[int] = None
|
|
fraccioname: Optional[int] = None
|
|
paisorigenmex: Optional[int] = None
|
|
paisorigename: Optional[int] = None
|
|
impordencomp: Optional[int] = None
|
|
generarassettag: Optional[int] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
decimalescosto: Optional[int] = None
|
|
tipomoneda: Optional[str] = None
|
|
tipomn: Optional[str] = None
|
|
tipome: Optional[str] = None
|
|
clavemoneda: Optional[str] = None
|
|
controlremesa: Optional[str] = None
|
|
remesainicio: Optional[int] = None
|
|
remesafinal: Optional[int] = None
|
|
perpagrenglon: Optional[int] = None
|
|
cantlimite: Optional[Decimal] = None
|
|
pesolimite: Optional[Decimal] = None
|
|
valorlimite: Optional[Decimal] = None
|
|
metvalor: Optional[str] = None
|
|
pagoimpuesto: Optional[str] = None
|
|
formapago: Optional[str] = None
|
|
transportista: Optional[str] = None
|
|
aaduanalame: Optional[str] = None
|
|
conductor: Optional[str] = None
|
|
transporte: Optional[str] = None
|
|
numtransporte: Optional[str] = None
|
|
observacione: Optional[str] = None
|
|
observacioni: Optional[str] = None
|
|
numpartemex: Optional[int] = None
|
|
numparteame: Optional[int] = None
|
|
cantlimitemin: Optional[Decimal] = None
|
|
pesolimitemin: Optional[Decimal] = None
|
|
valorlimitemin: Optional[Decimal] = None
|
|
actualizarpartepartida: Optional[int] = None
|
|
packingordencompra: Optional[int] = None
|
|
solicitarcontrasenaadministrador: Optional[int] = None
|
|
imprimirlote: Optional[int] = None
|
|
imprimirnumentrada: Optional[int] = None
|
|
|
|
|
|
class QSisImpoRepSettings(BaseModel):
|
|
"""Legacy Table: QSisImpoRep (Fixed Asset Import Repeat?)"""
|
|
tipofactura: Optional[str] = None
|
|
consecutivo: Optional[int] = None
|
|
prefijoimpo: Optional[str] = None
|
|
consecutivoimpo: Optional[str] = None
|
|
pedimento: Optional[str] = None
|
|
tipo: Optional[str] = None
|
|
proveedor: Optional[str] = None
|
|
vendidoconsignado: Optional[str] = None
|
|
vendidoa: Optional[str] = None
|
|
enviadotransferido: Optional[str] = None
|
|
enviadoa: Optional[str] = None
|
|
aaduanal: Optional[str] = None
|
|
incoterm: Optional[str] = None
|
|
flete: Optional[Decimal] = None
|
|
identificador: Optional[str] = None
|
|
firmafmex: Optional[str] = None
|
|
firmafame: Optional[str] = None
|
|
codigobarras: Optional[int] = None
|
|
fraccionimp: Optional[int] = None
|
|
tasafraccmex: Optional[int] = None
|
|
tipofraccmex: Optional[int] = None
|
|
fraccioname: Optional[int] = None
|
|
paisorigenmex: Optional[int] = None
|
|
paisorigename: Optional[int] = None
|
|
impordencomp: Optional[int] = None
|
|
generarassettag: Optional[int] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
decimalescosto: Optional[int] = None
|
|
tipomoneda: Optional[str] = None
|
|
tipomn: Optional[str] = None
|
|
tipome: Optional[str] = None
|
|
clavemoneda: Optional[str] = None
|
|
controlremesa: Optional[str] = None
|
|
remesainicio: Optional[int] = None
|
|
remesafinal: Optional[int] = None
|
|
perpagrenglon: Optional[int] = None
|
|
cantlimite: Optional[Decimal] = None
|
|
pesolimite: Optional[Decimal] = None
|
|
valorlimite: Optional[Decimal] = None
|
|
ventqueueact: Optional[int] = None
|
|
metvalor: Optional[str] = None
|
|
pagoimpuesto: Optional[str] = None
|
|
formapago: Optional[str] = None
|
|
transportista: Optional[str] = None
|
|
aaduanalame: Optional[str] = None
|
|
conductor: Optional[str] = None
|
|
transporte: Optional[str] = None
|
|
numtransporte: Optional[str] = None
|
|
observacione: Optional[str] = None
|
|
observacioni: Optional[str] = None
|
|
numpartemex: Optional[int] = None
|
|
numparteame: Optional[int] = None
|
|
cantlimitemin: Optional[Decimal] = None
|
|
pesolimitemin: Optional[Decimal] = None
|
|
valorlimitemin: Optional[Decimal] = None
|
|
packingordencompra: Optional[int] = None
|
|
solicitarcontrasenaadministrador: Optional[int] = None
|
|
|
|
|
|
class QSisExpoSettings(BaseModel):
|
|
"""Legacy Table: QSisExpo (Fixed Asset Export)"""
|
|
tipofactura: Optional[str] = None
|
|
escambioregimen: Optional[str] = None
|
|
prefijoexpo: Optional[str] = None
|
|
consecutivoexpo: Optional[str] = None
|
|
pedimento: Optional[str] = None
|
|
tipo: Optional[str] = None
|
|
proveedor: Optional[str] = None
|
|
vendidoconsignado: Optional[str] = None
|
|
vendidoa: Optional[str] = None
|
|
enviadotransferido: Optional[str] = None
|
|
enviadoa: Optional[str] = None
|
|
vendidopor: Optional[str] = None
|
|
aaduanal: Optional[str] = None
|
|
incoterm: Optional[str] = None
|
|
flete: Optional[Decimal] = None
|
|
identificador: Optional[str] = None
|
|
codigobarras: Optional[int] = None
|
|
cantpncodbar: Optional[int] = None
|
|
dtacerocodbar: Optional[int] = None
|
|
cbarrasvalor: Optional[str] = None
|
|
firmafmex: Optional[str] = None
|
|
fraccionexp: Optional[int] = None
|
|
tasafraccmex: Optional[int] = None
|
|
tipofraccmex: Optional[int] = None
|
|
numpartemex: Optional[int] = None
|
|
paisorigenmex: Optional[int] = None
|
|
costounitmex: Optional[int] = None
|
|
ocultarempaquemex: Optional[int] = None
|
|
firmafame: Optional[str] = None
|
|
fraccioname: Optional[int] = None
|
|
paisorigename: Optional[int] = None
|
|
fdainformacioname: Optional[int] = None
|
|
numparteame: Optional[int] = None
|
|
codigoscac: Optional[int] = None
|
|
impordencomp: Optional[int] = None
|
|
decimalespeso: Optional[int] = None
|
|
decimalescant: Optional[int] = None
|
|
decimalesvalor: Optional[int] = None
|
|
decimalescosto: Optional[int] = None
|
|
tipomoneda: Optional[str] = None
|
|
clavemoneda: Optional[str] = None
|
|
tipomn: Optional[str] = None
|
|
tipome: Optional[str] = None
|
|
mostrarvalact: Optional[int] = None
|
|
pepsporclase: Optional[int] = None
|
|
pepsporfraccion: Optional[int] = None
|
|
pepspordescripcion: Optional[int] = None
|
|
pepsporfraccalterna: Optional[int] = None
|
|
cantlimite: Optional[Decimal] = None
|
|
pesolimite: Optional[Decimal] = None
|
|
valorlimite: Optional[Decimal] = None
|
|
ventqueueact: Optional[int] = None
|
|
valfacttc: Optional[str] = None
|
|
metvalor: Optional[str] = None
|
|
pagoimpuesto: Optional[str] = None
|
|
formapago: Optional[str] = None
|
|
colcantporpeso: Optional[int] = None
|
|
transportista: Optional[str] = None
|
|
aaduanalame: Optional[str] = None
|
|
enviadoporvendidopor: Optional[str] = None
|
|
conductor: Optional[str] = None
|
|
transporte: Optional[str] = None
|
|
numtransporte: Optional[str] = None
|
|
observacione: Optional[str] = None
|
|
observacioni: Optional[str] = None
|
|
proveedorexportador: Optional[str] = None
|
|
cantlimitemin: Optional[Decimal] = None
|
|
pesolimitemin: Optional[Decimal] = None
|
|
valorlimitemin: Optional[Decimal] = None
|
|
solicitarpswdactual: Optional[int] = None
|
|
solicitarpswddesactual: Optional[int] = None
|
|
packingordenventa: Optional[int] = None
|
|
imprimirpo: Optional[int] = None
|
|
packingpedclave: Optional[int] = None
|
|
generafacturaimd: Optional[str] = None
|
|
generafacturaimdenbasea: Optional[str] = None
|
|
solicitarcontrasenaadministrador: Optional[int] = None
|
|
imprimirlote: Optional[int] = None
|
|
imprimirnumentrada: Optional[int] = None
|
|
|
|
|
|
class SettingsPayload(BaseModel):
|
|
"""
|
|
Master container for all possible overrides.
|
|
Using Optional fields so only the delta is required in JSONB.
|
|
"""
|
|
# SCAII (Invoices / Inventory)
|
|
ssisgen: Optional[SSisGenSettings] = None
|
|
ssisgen2: Optional[SSisGen2Settings] = None
|
|
ssisgen3: Optional[SSisGen3Settings] = None
|
|
ssismex: Optional[SSisMexSettings] = None
|
|
ssisdef: Optional[SSisDefSettings] = None
|
|
ssisexpo: Optional[SSisExpoSettings] = None
|
|
ssisimpo: Optional[SSisImpoSettings] = None
|
|
|
|
# SCAF (Fixed Assets)
|
|
qsiscmex: Optional[QSisCMexSettings] = None
|
|
qsisdef: Optional[QSisDefSettings] = None
|
|
qsisgen: Optional[QSisGenSettings] = None
|
|
qsisexporep: Optional[QSisExpoRepSettings] = None
|
|
qsisimpo: Optional[QSisImpoSettings] = None
|
|
qsisimporep: Optional[QSisImpoRepSettings] = None
|
|
qsisexpo: Optional[QSisExpoSettings] = None
|
|
|
|
class AppSettingRequest(BaseModel):
|
|
tenant_id: Optional[int] = None
|
|
company_id: Optional[int] = None
|
|
settings: SettingsPayload
|
|
|
|
class AppSettingResponse(BaseModel):
|
|
id: int
|
|
tenant_id: Optional[int]
|
|
company_id: Optional[int]
|
|
settings: Dict[str, Any]
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|