Manual de reinstalación de tienda - BRIDGE 7.4




REVISIONES
FechaVersiónDescripciónAutor

 

1.0

Creación del documento

https://share.linx.com.br/x/_02KEw

 

1.1Se agrega recuperacion de stock



CONTENIDO



Introducción

A partir de 7.2 es posible reinstalar una tienda cuyo código ya existía previamente.

Esto puede suceder en caso de contingencia, ya sea por rotura de la BBDD de BMT, o por cualquier otro motivo.

Ciertas informaciones se pueden recuperar de central, y otras no. Además hay que tener en consideración que si algún POS trabajaba de forma offline, será necesario realizar un procedimiento manual para minimizar los problemas.

Este documento trata de explicar que información se recuperará, y que pasos son necesarios para poder volver a operar con las terminales que ya existían.


Procedimiento

El funcionamiento para el usuario final es transparente, el mismo desde el instalador utiliza el código de tienda y luego de instalar va a poder ver los usuarios, terminales, periodos que existían previamente.

Además si la tienda se encontraba cerrada o abierta, también se respetará ese estado. Las terminales generaran sus nuevas transacciones utilizando el nro. de secuencia que le seguía, y estarán en el período en el cual estaban.

El stock de la tienda tambien se recuperará.

Sin embargo, los POS Offline pueden haber quedado con transacciones realizadas pendientes de envío al BMT.

Para minimizar la ocurrencia de perdida de información, lo que se sugiere es una vez reinstalado el BMT, encender los POS offline y no loguearse. Sino que deberían dejarlos prendidos un determinado tiempo hasta tanto se compruebe en el listado de transacciones de BMT que todas las TRX de los distintos POS llegaron.

Una vez que ocurrió esto, debería ser algo rápido, es necesario REINSTALAR CADA POS BORRANDO LA BBDD OFFLINE.

Esto es porque los POS consultan al BCORE de Tienda su StoreStatus, TerminalState y OperatorStatus. Y los mismos ahora tienen distinto ID. Con lo cual es necesario reinstalar los POS a fin de que se vuelvan a bajar la información correctamente.

Yendo a lo que son los datos que se recuperan en la tienda son:

Collections:

  • Store
  • Terminal
  • CalendarPeriod
  • BusinessDay
  • SubordinatedPeriod
  • TenderRepository
  • TerminalState
  • OperatorStatus
  • StoreStatus
  • ItemInventory

Y los datos que no se recuperan, serán los distribuidos y acumulados (utilizados en su mayoría de los casos, por los reportes)

Lo aconsejable sería una vez reinstalada la tienda y realizado la reinstalación de los POS, cerrar/abrir nuevo periodo para volver a operar.


Cambios aplicados

Técnicamente lo que se agregó en Bridge API es la siguiente lógica (en azul):

1) Instalador llama a BridgeApi Tienda para realizar nueva instalación

2) BridgeApi Tienda realizar una llamada a BridgeApi Central para saber si la tienda ya existía o no.

3) En caso de que la tienda era preexistente, BridgeAPI Central le devuelve un mensaje avisándole de esto, y además todos los registros de las collections mencionadas arriba.

4) BridgeApi Tienda inmediatamente crea estos registros y procede con la instalación habitual.

5) El instalador de Bridge Manager finaliza

6) El usuario se puede loguear al BMT y debería ver la Tienda con el mismo estado y periodo que tenia anteriormente.


Tablas que pueden tener impacto si un id de tienda difiere entre BMT y BMC

Como base de conocimiento les dejo las colecciones a modo de ejemplo del update en caso de tener que cambiar por otro id de tienda


db.CalendarPeriod.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.ItemInventory.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.ItemInventoryJournalEntry.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.ItemPriceCurrent.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.ItemStockSummary.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.ItemSalesSummary.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.BroadcastCenter.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.StoreHistory.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.StoreSafeBalance.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.StoreSafeTenderBalance.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.StoreTenderHistory.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.StoreStatus.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.TenderCollection.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.TenderRepository.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.TenderTransaction.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.Terminal.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.TillHistory.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.TillTenderHistory.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.TransactionRetail.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.TransactionRetailDiscount.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.TransactionRetailItem.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.TransactionRetailPayment.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

db.UserGroup.update({},{$set:{"store" : ObjectId("6288ff5e3df0fe342879aa99")}},{multi:true})

  •  SerializedTransaction
  • SafeTransaction



  • Sem rótulos