Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »


PLUGIN BRIDGE2SQL

Documentación y Modelo de Datos SQL





Contenido


INTRODUCCIÓN


Este documento tiene como finalidad describir en detalle el modelo de datos utilizado en la integración del Plugin Bridge2SQL con SQL Server. La finalidad del documento es proporcionar una referencia técnica para el diseño, implementación y mantenimiento de la base de datos, asegurando la correcta estructuración de las transacciones procesadas desde el sistema Bridge Manager Central hasta su almacenamiento en SQL Server.

El objetivo principal es establecer un marco de referencia claro para la gestión de datos en el entorno de integración, facilitando la interoperabilidad entre los distintos sistemas involucrados. Se incluyen detalles sobre la arquitectura del sistema, el flujo de procesamiento de datos, la estructura de las tablas en la base de datos y el mapeo de información entre los formatos JSON y SQL.

Este documento está dirigido a desarrolladores, arquitectos de sistemas y administradores de bases de datos que requieran comprender el funcionamiento interno del Plugin Bridge2SQL y su impacto en la estructura de datos.




DIAGRAMA DE ARQUITECTURA


El sistema se conforma de cuatro componentes principales:

  • Bridge Manager Central: Sistema exportador.

  • Sistema de Colas RabbitMQ: Para encolar los datos exportados.

  • Plugin Bridge2Sql: Lee las colas RabbitMQ y escribe los datos en SQL.

  • Servidor SQL: Almacena los datos procesados.

Todos los componentes pueden convivir en el mismo servidor si fuera necesario.






DESCRIPCIÓN DE LOS COMPONENTES


Bridge Manager Central

Actúa como BackOffice complementando la operación en tienda de los puntos de venta. La solución cuenta con un conjunto de módulos que contemplan las operaciones reducidas de Cash Office, su módulo de abastecimiento y provee una serie de interfaces de integración con sistemas externos como ERP, sistemas legacy, etc.

Cuenta con una "Consola de administración", encargada de brindar una herramienta centralizada de administración. Esta consola es Web y funciona sobre un servidor de aplicaciones. Permite configurar qué tipos de transacciones se pueden exportar y hacía donde se expone la información por ejemplo “rabbit”.


Colas RabbitMQ

Sistema de mensajería que almacena datos encolados para procesamiento. Actúa como intermediario confiable entre sistemas distribuidos.

Su principal responsabilidad es almacenar los datos encolados para su procesamiento. RabbitMQ facilita la comunicación entre aplicaciones distribuidas al actuar como un intermediario confiable que encola, enruta y entrega mensajes de manera eficiente y flexible. Su uso permite la creación de sistemas robustos y escalables que pueden manejar grandes volúmenes de mensajes de manera confiable.

Las colas en RabbitMQ son puntos de almacenamiento temporales para los mensajes y actúan como buffers donde los mensajes son encolados hasta que son consumidos por los consumidores, en nuestro caso el plugin Bridge2Sql.


Plugin Bridge2Sql

Es un componente más de la solución Bridge que actua como el consumidor de los mensajes encolados en RabbitMQ y los procesa para insertarlos en el servidor de base de datos SQL. Una de las responsabilidades de este sistema es determinar a qué tablas se realizarán las inserciones de los registros dependiendo del valor de los campos de control.

Si bien realiza algunas operaciones de procesamiento, la mayor prioridad de este sistema será la lectura y escritura de la información.

Componentes:

  1. Configuración Inicial: Configurar conexión a RabbitMQ y a SQL Server

  2. Conexión a RabbitMQ: Configurar canales y declaración de colas a leer.

  3. Consumo de Mensajes: Recibe un mensaje, lo procesa extrayendo la información relevante para insertar en SQL.

  4. Procesamiento de Mensajes: Implica la deserialización del mensaje (si está en un formato específico, como JSON o XML), la validación de los datos y la preparación para la inserción en la base de datos.

  5. Conexión a la Base de Datos SQL Server: Abrir una conexión con SQL de forma segura.

  6. Inserción de Registros en la Base de Datos: Ejecutar los scripts de SQL

  7. Manejo de Errores y Reintentos: El plugin debe implementar mecanismos de manejo de errores y reintentos para garantizar la fiabilidad y la integridad de los datos.

  8. Cierre de Conexiones: Una vez que el plugin ha terminado de procesar los mensajes o se detiene su ejecución, debe cerrar todas las conexiones abiertas con RabbitMQ y la base de datos SQL Server de manera adecuada para liberar recursos y garantizar una terminación limpia.


SQL Server

Es un sistema de gestión de bases de datos relacional (RDBMS) desarrollado por Microsoft. Proporciona un entorno robusto y seguro para almacenar, administrar y recuperar datos de manera eficiente. Es ampliamente utilizado en empresas de todos los tamaños y sectores para almacenar y gestionar datos críticos de negocio.





FLUJO DE DATOS

El Plugin Bridge2SQL procesa transacciones marcadas como pendientes y determina el flujo de procesamiento según los siguientes criterios:

Transactions

Evalúa el campo trxType y si es "Sale", "ManualExchange" o "Exchange", inserta en:

  • transactionRetail (cabecera de la transacción).

  • transactionRetailItem (detalle de ítems).

  • transactionRetailPayment (detalle de pagos).

  • transactionRetailDiscount (detalle de descuentos).


New Customer

Si el campo typeCode es "NewCustomer", "PRS" o "OGN", inserta en:

  • party (cabecera del cliente).

  • partyContactMethod (métodos de contacto).


Tender Transaction

Si el campo typeCode es "TenderLoan", "TenderPickup" o "TenderWithdrawal", inserta en:

  • tenderTransaction (cabecera de la transacción).

  • tenderTransactionDetail (detalle de ítems).


Control Transaction

Si el campo trxType es "BusinessEOS" o "BusinessSOS", inserta en:

  • controlTransaction (cabecera).


Safe Transaction

Si el campo trxType es "TenderInflow" o "TenderOutflow", inserta en:

  • safeTransaction (cabecera).

  • safeTransactionDetail (detalle).




MAPEO DE LA INFORMACIÓN JSON - SQL

Una de las ideas del diseño de esta solución es que los nombres de los campos entre el JSON y SQL Sea el mismo y represente la misma información. En las tablas se mostrarán las correspondencias y se destacarán los casos en los que existe diferencia.


JSON Sale – SQL transactionRetail

Campo JSONCampo SQLDescripción
_id_idIdentificador único
itemCountitemCountCantidad de ítems
grossAmountgrossAmountMonto bruto
taxAmounttaxAmountMonto de impuestos
promoDiscountAmountpromoDiscountAmountMonto de descuento promocional
manualDiscountAmountmanualDiscountAmountMonto de descuento manual
cancelFlagcancelFlagBandera de cancelación
contingencyFlagcontingencyFlagBandera de contingencia
netSalesAmountnetSalesAmountMonto neto de ventas
returnAmountreturnAmountMonto de devolución
transactionDiscountAmounttransactionDiscountAmountMonto de descuento de transacción
voidedFlagvoidedFlagBandera de anulación
nccProcessedFlagnccProcessedFlagBandera de procesamiento de NCC
iva0Amountiva0AmountMonto de IVA al 0%
iva21Amountiva21AmountMonto de IVA al 21%
iva105Amountiva105AmountMonto de IVA al 10.5%
iva27Amountiva27AmountMonto de IVA al 27%
foreignCurrencyInvoiceforeignCurrencyInvoiceFactura en moneda extranjera
foreignCurrencySellingQuoteforeignCurrencySellingQuoteCotización de venta en moneda extranjera
transactionObjectIdtransactionObjectIdID de objeto de transacción
tenderRepositorytenderRepositoryRepositorio de transacción
trxTypetrxTypeTipo de transacción
trxNumbertrxNumberNúmero de transacción
storestoreTienda
storeNamestoreNameNombre de la tienda
terminalterminalTerminal
storeCodestoreCodeCódigo de tienda
terminalCodeterminalCodeCódigo de terminal
periodNumberperiodNumberNúmero de período
sbPeriodNumbersbPeriodNumberNúmero de período (SB)
beginDateTimebeginDateTimeFecha y hora de inicio
endDateTimeendDateTimeFecha y hora de finalización
beginDateTimeAsIntbeginDateTimeAsIntFecha y hora de inicio como entero
beginDateTimeHourbeginDateTimeHourHora de inicio
operatorCodeoperatorCodeCódigo de operador
operatorNameoperatorNameNombre del operador
trainingModeFlagtrainingModeFlagBandera de modo de entrenamiento
suspendedFlagsuspendedFlagBandera de suspensión
offlineFlagofflineFlagBandera de fuera de línea
trxTypeLangtrxTypeLangTipo de transacción (idioma)
currencyDescriptioncurrencyDescriptionDescripción de la moneda
fiscalPosNumberfiscalPosNumberNúmero de Punto de Venta Fiscal
serieOfficialBillserieOfficialBillSerie de factura oficial
billTypebillTypeTipo de factura
billNumberbillNumberNúmero de factura
businessDayDatebusinessDayDateFecha de día hábil
grossPositiveAmountgrossPositiveAmountMonto bruto positivo
grossNegativeAmountgrossNegativeAmountMonto bruto negativo
ivaTaxAmountivaTaxAmountMonto de impuesto IVA
internalTaxAmountinternalTaxAmountMonto de impuesto interno
perceptionAmountperceptionAmountMonto de percepción
billTotalAmountbillTotalAmountMonto total de factura
hasCustomerhasCustomerBandera tiene cliente
partypartyInformación de cliente
partyCodepartyCodeCódigo de cliente
partyTaxCategorypartyTaxCategoryCategoría fiscal de cliente
partyTypepartyTypeTipo de cliente
partyFirstNamepartyFirstNameNombre de cliente (primer nombre)
partyLastNamepartyLastNameApellido de cliente
partyPersonpartyPersonPersona de cliente
partyOrganizationpartyOrganizationOrganización de cliente
partyIdentificationTypepartyIdentificationTypeTipo de identificación de cliente
partyIdentificationNumberpartyIdentificationNumberNúmero de identificación de cliente
partyAddressFirstLinepartyAddressFirstLinePrimera línea de dirección de cliente
partyAddressCitypartyAddressCityCiudad de dirección de cliente
partyAddressStatepartyAddressStateEstado de dirección de cliente
partyAddressCountrypartyAddressCountryPaís de dirección de cliente
partyAddressPostalCodepartyAddressPostalCodeCódigo postal de dirección de cliente
partyEmailpartyEmailCorreo electrónico de cliente
partyTelephonepartyTelephoneTeléfono de cliente
denominationdenominationDenominación
invoiceCurrencyCodeinvoiceCurrencyCodeCódigo de moneda de la factura
createdAtcreatedAtFecha de creación
updatedAtupdatedAtFecha de actualización
versionversionVersión
baseCurrencyCodebaseCurrencyCodeCódigo de moneda base
originalSerieOfficialBilloriginalSerieOfficialBillSerie original de factura
originalFiscalPOSNumberoriginalFiscalPOSNumberNúmero original de punto de venta fiscal
originalBillNumberoriginalBillNumberNúmero original de factura
originalTrxNumberoriginalTrxNumberNúmero original de transacción
originalStoreCodeoriginalStoreCodeCódigo original de tienda
originalTerminalCodeoriginalTerminalCodeCódigo original de terminal
invoiceRequiredinvoiceRequiredFactura requerida
xmlxmlTimbradoXML Timbrado (Facturación MEX)
timbradotimbradoBandera de Timbrado
sellerNamesellerNameNombre del vendedor
sellerIDsellerIDID del vendedor
trxRappitrxRappiBandera de Transacción Rappi
trxCornerShoptrxCornerShopBandera de Transacción CornerShop
invoiceUUIDinvoiceUUIDUUID de la factura
storeCode +"-"+ terminalCode +"-"+ trxNumberfolioFolio de la factura (Facturación MEX)
folioDeliveryfolioDeliveryFolio de entrega
folioInternetfolioInternetFolio de Internet
diasCreditodiasCreditoDías de crédito
supervisorCreditTrxsupervisorCreditTrxTransacción de crédito del supervisor
fiscalCAENumberfiscalCAENumberNúmero de CAE fiscal
seq_exportseq_exportIdentificador secuencial de exportación (con IDENTITY(1,1))
fiscalModefiscalModeModo fiscal


JSON Sale.items – SQL transactionRetailItem

Campo JSONCampo SQLDescripción
_id_idIdentificador
beginDateTimebeginDateTimeFecha y Hora de Inicio
beginDateTimeAsIntbeginDateTimeAsIntFecha y Hora de Inicio
beginDateTimeHourbeginDateTimeHourHora de Inicio
cancelFlagcancelFlagBandera de Cancelación
createdAtcreatedAtFecha de Creación
descriptiondescriptionDescripción
extendedPriceextendedPricePrecio Extendido
giftCardBalancegiftCardBalanceSaldo de Tarjeta de Regalo
giftCardRechargeAmountgiftCardRechargeAmountMonto Recargado de Tarjeta de Regalo
internalCodeinternalCodeCódigo Interno
itemTypeitemTypeTipo de Ítem
manualDiscountAmountmanualDiscountAmountMonto de Descuento Manual
merchandiseHierarchyGroupCodemerchandiseHierarchyGroupCodeCódigo del Grupo de Jerarquía de Mercancía
merchandiseHierarchyGroupNamemerchandiseHierarchyGroupNameNombre del Grupo de Jerarquía de Mercancía
netAmountnetAmountMonto Neto
operatorCodeoperatorCodeCódigo de Operador
operatorNameoperatorNameNombre del Operador
periodNumberperiodNumberNúmero de Período
perceptionTotalperceptionTotalTotal de Percepción
prorratedTxDiscountprorratedTxDiscountDescuento Prorrateado de Transacción
promoDiscountAmountpromoDiscountAmountMonto de Descuento Promocional
quantityquantityCantidad
returnedreturnedBandera de Devolución
sbPeriodNumbersbPeriodNumberNúmero de Período (SB)
sellerIDsellerIDID del Vendedor
sellerNamesellerNameNombre del Vendedor
sequenceNumbersequenceNumberNúmero de Secuencia
storestoreTienda
storeCodestoreCodeCódigo de Tienda
storeNamestoreNameNombre de la Tienda
suspendedFlagsuspendedFlagBandera de Suspensión
taxTotaltaxTotalTotal de Impuestos
terminalterminalTerminal
terminalCodeterminalCodeCódigo de Terminal
transactionObjectIdtransactionObjectIdID de Objeto de Transacción
trainingModeFlagtrainingModeFlagBandera de Modo de Entrenamiento
trxNumbertrxNumberNúmero de Transacción
trxTypetrxTypeTipo de Transacción
updatedAtupdatedAtFecha de Actualización
unitOfMeasureCodeunitOfMeasureCodeCódigo de Unidad de Medida
unitOfMeasureDecimalsunitOfMeasureDecimalsDecimales de Unidad de Medida
unitPriceunitPricePrecio Unitario
unitsunitsUnidades
vatTotalvatTotalTotal de IVA
voidFlagvoidFlagBandera de Anulación
voidedQuantityvoidedQuantityCantidad Anulada
voidingvoidingAnulación
versionversionVersión
locationCodelocationCodeCódigo de Ubicación


Campos discontinuados

Los siguientes campos han sido eliminados de la estructura de datos de transactionRetailItem en la última actualización:

  • folio: Relacionado con la facturación.

  • idsat: Campo vinculado a la facturación electrónica en México.

  • itemSerialNumber: Número de Serie del Ítem.

  • pedimento: Información aduanera o de importación.

  • totalAmount: Se ha eliminado el campo de monto total.


JSON Sale.discounts – SQL transactionRetailDiscount

Campo JSONCampo SQLDescripción
_id_idIdentificador
actionactionAcción
beginDateTimebeginDateTimeFecha y Hora de Inicio
beginDateTimeAsIntbeginDateTimeAsIntFecha y Hora de Inicio como Entero
beginDateTimeHourbeginDateTimeHourHora de Inicio
benefitClassbenefitClassClase de Beneficio
benefitNumberbenefitNumberNúmero de Beneficio
benefitPercentbenefitPercentPorcentaje de Beneficio
benefitValuebenefitValueValor del Beneficio
cancelFlagcancelFlagBandera de Cancelación
createdAtcreatedAtCreado en
descriptiondescriptionDescripción
internalCodeinternalCodeCódigo Interno
messagemessageMensaje
operatorCodeoperatorCodeCódigo de Operador
operatorNameoperatorNameNombre del Operador
periodNumberperiodNumberNúmero de Período
promoDescriptionpromoDescriptionDescripción de la Promoción
promotionNumberpromotionNumberNúmero de Promoción
reasonreasonRazón
sbPeriodNumbersbPeriodNumberNúmero de Período (SB)
sequenceNumbersequenceNumberNúmero de Secuencia
storestoreTienda
storeCodestoreCodeCódigo de Tienda
storeNamestoreNameNombre de la Tienda
terminalterminalTerminal
terminalCodeterminalCodeCódigo de Terminal
transactionObjectIdtransactionObjectIdID de Objeto de Transacción
trxNumbertrxNumberNúmero de Transacción
trxTypetrxTypeTipo de Transacción
typetypeTipo
updatedAtupdatedAtActualizado en
versionversionVersión


JSON Sale.payments – SQL transactionRetailPayment

Campo JSONCampo SQLDescripción
_id_idIdentificador
amountamountMonto
beginDateTimebeginDateTimeFecha y Hora de Inicio
beginDateTimeAsIntbeginDateTimeAsIntFecha y Hora de Inicio como Entero
beginDateTimeHourbeginDateTimeHourHora de Inicio
billNumberbillNumberNúmero de Factura
billTypebillTypeTipo de Factura
cancelFlagcancelFlagBandera de Cancelación
cardcardTarjeta
cardAuthorizationCodecardAuthorizationCodeCódigo de Autorización de Tarjeta
cardNumbercardNumberNúmero de Tarjeta
cardCouponNumbercardCouponNumberNúmero de Cupón de Tarjeta
cardCouponNumberOffcardCouponNumberOffCupón de Tarjeta Alternativo
changechangeCambio
createdAtcreatedAtCreado en
currencyISOCodecurrencyISOCodeCódigo de Moneda ISO
fiscalPosNumberfiscalPosNumberNúmero de Punto de Venta Fiscal
foreignAmountforeignAmountMonto en Moneda Extranjera
foreignChangeforeignChangeCambio en Moneda Extranjera
foreignCurrencyQuoteforeignCurrencyQuoteCotización de Moneda Extranjera
lotNumberlotNumberNúmero de Lote
netAmountnetAmountMonto Neto
operatorCodeoperatorCodeCódigo de Operador
operatorNameoperatorNameNombre del Operador
periodNumberperiodNumberNúmero de Período
sbPeriodNumbersbPeriodNumberNúmero de Período Secundario
planDescriptorplanDescriptorDescripción del Plan
providerproviderProveedor
referenceNumberreferenceNumberNúmero de Referencia
serieOfficialBillserieOfficialBillSerie de Factura Oficial
sellerNamesellerNameNombre del Vendedor
storestoreTienda
storeCodestoreCodeCódigo de Tienda
storeNamestoreNameNombre de la Tienda
suspendedFlagsuspendedFlagBandera de Suspensión
surchargesurchargeRecargo
tendertenderForma de Pago
tenderCodetenderCodeCódigo de Forma de Pago
tenderNametenderNameNombre de Forma de Pago
tenderRepositorytenderRepositoryRepositorio de Forma de Pago
terminalterminalTerminal
terminalCodeterminalCodeCódigo de Terminal
transactionObjectIdtransactionObjectIdID de Objeto de Transacción
trainingModeFlagtrainingModeFlagBandera de Modo de Entrenamiento
trxNumbertrxNumberNúmero de Transacción
trxTypetrxTypeTipo de Transacción
updatedAtupdatedAtActualizado en
versionversionVersión
voidedvoidedAnulado
voidingvoidingAnulación
vtolStorevtolStoreTienda de Vtol
vtolTerminalvtolTerminalTerminal de Vtol
extraCashAmountextraCashAmountMonto Extra en Efectivo
extraCashCuponextraCashCuponCupón de Monto Extra en Efectivo
walletPaymentIdwalletPaymentIdIdentificador de Pago con Billetera Digital

Campos discontinuados

Los siguientes campos han sido eliminados de la estructura de datos de transactionRetailPayment en la última actualización:

  • BankNameTransfer (Nombre del banco en transferencias, ya no requerido en la nueva estructura)

  • bankdescription (Descripción del banco para transferencias, eliminado por redundancia)

  • prochemex (Registro relacionado con Prochemex en Cheques MEX, removido por actualización de procesos)

  • transferNumber (Número de referencia de transferencias, eliminado debido a cambios en la gestión de pagos)


JSON NewCustomer – SQL party

Campo JSONCampo SQLDescripción
_class_classClase
_id_idIdentificador
apiProcessedapiProcessedBandera Procesado por API
birthCountryCodebirthCountryCodeCódigo de País de Nacimiento
birthDayNumberbirthDayNumberDía de Nacimiento
birthMonthNumberbirthMonthNumberMes de Nacimiento
birthYearNumberbirthYearNumberAño de Nacimiento
codecodeCódigo
createdAtcreatedAtFecha de Creación
creditBillAvailablecreditBillAvailableDisponible en la Factura de Crédito
disableddisabledBandera Deshabilitado
emailemailCorreo Electrónico
exemptFlagexemptFlagBandera de Exento
firstNamefirstNamePrimer Nombre
genderTypegenderTypeTipo de Género
identificationTypeidentificationTypeTipo de Identificación
identifieridentifierIdentificador
lastNamelastNameApellido
storestoreTienda
typeCodetypeCodeCódigo de Tipo
updatedAtupdatedAtFecha de Actualización
versionversionVersión
namenameNombre


Campos discontinuados

Los siguientes campos han sido eliminados de la estructura de datos de party en la última actualización:

  • isCredit (Bandera que indicaba si el cliente tenía crédito, eliminada en la nueva versión).

  • membership (Número de membresía del cliente, ya no se almacena en esta tabla).

  • middleNames (Campo de segundos nombres, removido de la estructura de datos).

  • partyCRSegment (Segmento de cliente, eliminado por cambios en la segmentación de datos).

  • partyRoleAssignment (Asignación de rol de cliente, ya no se gestiona en esta tabla).


JSON NewCustomer.contactMethods – SQL partyContactMethod

Campo JSONCampo SQLDescripción
_id_idIdentificador
codecodeCódigo
disableddisabledDeshabilitado
effectiveDateeffectiveDateFecha Efectiva
emailAddressemailAddressCorreo Electrónico de Cliente
expirationDateexpirationDateFecha de Expiración
namenameNombre de Cliente
partypartyID de Cliente
partyCodepartyCodeCódigo de Cliente
principalForBillingprincipalForBillingPrincipal para Facturación
principalForDeliveryprincipalForDeliveryPrincipal para Entrega
versionversionVersión
countrycountryPaís
secondLinesecondLineSegunda Línea
thirdLinethirdLineTercera Línea
betweenStreetsbetweenStreetsEntre Calles
postalCodepostalCodeCódigo Postal
firstLinefirstLinePrimera Línea
citycityCiudad
statestateEstado
fourthLinefourthLineCuarta Línea
telephoneNumbertelephoneNumberNúmero de Teléfono
countryCodecountryCodeCódigo de País
areaCodeareaCodeCódigo de Área
extensionNumberextensionNumberNúmero de Extensión


Campos discontinuados

Los siguientes campos han sido eliminados de la estructura de datos de partyContactMethod en la última actualización:

  • telephone.areaCode (Ahora reemplazado por areaCode en la nueva estructura).

  • address.betweenStreets. Campo eliminado.

  • address.city (Ahora se usa simplemente city).

  • telephone.countryCode (Ahora se usa simplemente countryCode).

  • address.country (Ahora se usa simplemente country).

  • address.extensionNumber (Eliminado de la nueva estructura).

  • address.firstLine (Ahora se usa simplemente firstLine).

  • address.fourthLine (Ahora se usa simplemente fourthLine).

  • address.postalCode (Ahora se usa simplemente postalCode).

  • address.secondLine (Ahora se usa simplemente secondLine).

  • address.thirdLine (Ahora se usa simplemente thirdLine).

  • telephone.telephoneNumber (Ahora se usa simplemente telephoneNumber).


JSON TenderTransaction – SQL tenderTransaction

Campo JSONCampo SQLDescripción
_id_idIdentificador
beginDateTimebeginDateTimeFecha y Hora de Inicio
businessDayDatebusinessDayDateFecha del Día de Negocio
createdAtcreatedAtFecha de Creación
endDateTimeendDateTimeFecha y Hora de Finalización
isAutomaticisAutomaticBandera Es Automático
periodperiodPeríodo
rsUserrsUserUsuario
safesafeCaja Fuerte
sequenceNumbersequenceNumberNúmero de Secuencia
storestoreTienda
storeCodestoreCodeCódigo de Tienda
storeSafeCodestoreSafeCodeCódigo de Caja Fuerte de Tienda
terminalCodeterminalCodeCódigo de Terminal
tilltillCaja
tillCodetillCodeCódigo de Caja
tillTotillToCaja Destino
tillTypetillTypeTipo de Caja
totalstotalsTotales
trxOrigintrxOriginTransacción Origen
transactionObjectIdtransactionObjectIdID de Objeto de Transacción
typeCodetypeCodeCódigo de Tipo
updatedAtupdatedAtFecha de Actualización
userNameuserNameNombre de Usuario
userNameDescriptionuserNameDescriptionDescripción del Nombre de Usuario
versionversionVersión
tenderTransactionStatustenderTransactionStatusEstado de la Transacción de Pago
workStationworkStationEstación de Trabajo
subperiodsubperiodSubperíodo


JSON TenderTransaction.tenderTranItems – SQL tenderTransactionDetail

Campo JSONCampo SQLDescripción
_id_idIdentificador
amountamountMonto
externalDepositoryexternalDepositoryDepósito Externo
foreignCurrencyQuoteFactorforeignCurrencyQuoteFactorFactor de Cotización de Moneda Extranjera
qtyqtyCantidad
tendertenderForma de Pago
tenderCodetenderCodeCódigo de Forma de Pago
tenderNametenderNameNombre de Forma de Pago
transactionObjectIdtransactionObjectIdID de Objeto de Transacción


JSON TenderInflow – SQL safeTransaction

orado las actualizaciones detectadas en el nuevo script SQL.

Campo JSONCampo SQLDescripción
_id_idIdentificador
bagNumberbagNumberNúmero de Bolsa
beginDateTimebeginDateTimeFecha y Hora de Inicio
businessDayDatebusinessDayDateFecha del Día de Negocio
cancelFlagcancelFlagBandera de Cancelación
contigencyFlagcontigencyFlagBandera de Contingencia
docNumberdocNumberNúmero de Documento
endDateTimeendDateTimeFecha y Hora de Finalización
offlineFlagofflineFlagBandera Fuera de Línea
originalTransactionoriginalTransactionTransacción Original
periodCodeperiodCodeCódigo de Período
periodNumberperiodNumberNúmero de Período
safeIdsafeIdID de Caja Fuerte
sbPeriodNumbersbPeriodNumberNúmero de Subperíodo
storeCodestoreCodeCódigo de Tienda
subPeriodCodesubPeriodCodeCódigo de Subperíodo
suspendedFlagsuspendedFlagBandera de Suspensión
terminalCodeterminalCodeCódigo de Terminal
tillCodetillCodeCódigo de Caja
tillTypetillTypeTipo de Caja
totalstotalsTotales
trainingModeFlagtrainingModeFlagBandera de Modo de Entrenamiento
trxNumbertrxNumberNúmero de Transacción
trxOrigintrxOriginOrigen de Transacción
trxStatustrxStatusEstado de Transacción
trxTypetrxTypeTipo de Transacción
trxTypeCodetrxTypeCodeCódigo de Tipo de Transacción
updatedAtupdatedAtActualizado en
userNameuserNameNombre de Usuario
voidedFlagvoidedFlagBandera de Anulado
notenoteNota


Campos discontinuados

Los siguientes campos han sido eliminados de la estructura de datos de safeTransaction en la última actualización:

  • tenderControlTransaction.TenderInflow.bagNumber (Ahora reemplazado por bagNumber directamente).

  • tenderControlTransaction.TenderInflow.docNumber (Ahora es docNumber directamente).

  • tenderControlTransaction.TenderInflow.totals (Ahora es simplemente totals).

  • tenderControlTransaction.TenderInflow.note (Ahora es simplemente note).


JSON TenderInFlow.tenderControlTransactionTenderLineItems – SQL safeTransactionDetail

Campo JSONCampo SQLDescripción
amountamountMonto
commentscommentsComentarios
countcountCantidad
exchangeRateexchangeRateTasa de Cambio
externalDepositoryCodeexternalDepositoryCodeCódigo de Depósito Externo
externalDepositoryIdexternalDepositoryIdID de Depósito Externo
foreignCurrencyAmountforeignCurrencyAmountMonto en Moneda Extranjera
IdSafeTransactionDetailIdSafeTransactionDetailID de Detalle de Transacción Segura
retailStoreIdretailStoreIdID de Tienda Minorista
safeIdsafeIdID de Transacción
sequenceNumbersequenceNumberNúmero de Secuencia
tenderDescriptiontenderDescriptionDescripción de Forma de Pago
tenderIdtenderIdID de Forma de Pago
tenderTypeCodetenderTypeCodeTipo de Forma de Pago


JSON BusinessEOD – SQL controlTransaction

Campo JSONCampo SQLDescripción
_id_idIdentificador
beginDateTimebeginDateTimeFecha y Hora de Inicio
businessDayDatebusinessDayDateFecha del Día de Negocio
cancelFlagcancelFlagBandera de Cancelación
contingencyFlagcontingencyFlagBandera de Contingencia
createdAtcreatedAtFecha de creación
endDateTimeendDateTimeFecha y Hora de Finalización
offlineFlagofflineFlagBandera Fuera de Línea
originalTransactionoriginalTransactionTransacción Original
periodCodeperiodCodeCódigo de Período
periodNumberperiodNumberNúmero de Período
sbPeriodNumbersbPeriodNumberNúmero de Subperíodo
storeCodestoreCodeCódigo de Tienda
subPeriodCodesubPeriodCodeCódigo de Subperíodo
suspendedFlagsuspendedFlagBandera de Suspensión
terminalCodeterminalCodeCódigo de Terminal
trainingModeFlagtrainingModeFlagBandera de Modo de Entrenamiento
trxNumbertrxNumberNúmero de Transacción
trxOrigintrxOriginOrigen de Transacción
trxStatustrxStatusEstado de Transacción
trxTypetrxTypeTipo de Transacción
trxTypeCodetrxTypeCodeCódigo de Tipo de Transacción
updatedAtupdatedAtFecha de Actualización
voidedFlagvoidedFlagBandera de Anulado






  • Sem rótulos