== Gestión Retail Aberturas ==
*[[Gestión Retail Aberturas: Bitácora]]
*[[Gestión Retail Aberturas: Pendientes]]
*[[Gestión Retail Aberturas: Relaciones]]
=== Gestión de Magnitudes ===

==== Definiciones ====
*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]
*Offset: Por defecto, el valor es 0

==== Atributos de Productos/Elementos ====
* M2 = Metro Cuadrado
Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)

* ML = Metro Lineal
Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)

* MG = Magnitud Galarza
Precio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)

* UN = Unidad
Precio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento

=== Triggers ===
{| style="border-spacing:0;"
| style="background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Trigger
| style="background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Event
| style="background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Table
| style="background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Statement
| style="background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;"| Timing

|-
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Alta_ListasPrecios
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| INSERT
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| listasprecios
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;"| AFTER

|-
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Alta_LogPrecios
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| INSERT
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| logprecios
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),' ',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),' ',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso='A'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso='B'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso='C'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso='D'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;"| BEFORE

|-
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Alta_Precio
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| INSERT
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| precios
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;"| BEFORE

|-
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Actualiza_Precio
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| UPDATE
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| precios
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;"| BEFORE

|-
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| AltaTransaccion
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| INSERT
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| transacciones
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;"| BEFORE

|-
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Baja_Presupuesto
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| DELETE
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| vidquoten1
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;"| AFTER

|-
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Alta_Item_Presupuesto
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| INSERT
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| vidquoten2
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;"| AFTER

|-
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Actualiza_Item_Presupuesto
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| UPDATE
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| vidquoten2
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;"| AFTER

|-
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| Baja_Item_Presupuesto
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| DELETE
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| vidquoten2
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END
| style="border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;"| AFTER

|}

=== Vistas ===
{| style="border-spacing:0;"
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| <center>'''Nombre'''</center>
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| <center>'''Comando'''</center>
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| <center>'''Uso'''</center>
| style="border:0.05pt solid #000000;padding:0.0382in;"| <center>'''Cross'''</center>

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Viscabdetalla
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.viscabdetalla.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.

FORM: Presupuesto
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Contactos, Vidquoten1

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Proveedores
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.proveedores.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Visualización de Contactos “Proveedores”
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Contactos

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Clientes
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.clientes.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Visualización de Contactos “Clientes”
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Contactos

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Visreppres
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.visreppres.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Vislineabs, Visdetaobs

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Viscompodis
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.viscompodis.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| 

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Viscoposimpl
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.viscomposimpl.sql



| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Vista de los elementos de composicion con información para query
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Productos, Composición

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Visdetaobs
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.visdetaobs.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Productos, Vidquoten3

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Visintdetpre
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.visintdetpre.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Visprodadic, Vidquoten2

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Vislineabs
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.vislineabs.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Vidquoten1, Vidquoten2, Productos, Vissubxitem

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Visprodadic
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.visproadic.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Productos, Composicion, PreciosVigentes

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Vissubxitem
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.vissubxitem.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Subtotal por Item de Presupuesto en tiempo real
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Vidquoten3

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Listavigente
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Listasprecios

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Preciosvigentes
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.preciosvigentes.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Listasprecios, Precios

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Preciosvigact
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.preciosvigact.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Vista de lista de precios vigentes con datos de productos para actualización columnar.

FORM: Actualización por tipo de lista
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Preciosvigentes, Productos

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Visprestot
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Vista.visprestot.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Vista de Presupuestos Totalizados por Cliente
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Visreppres

|}

=== Reportes ===
{| style="border-spacing:0;"
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| <center>'''Nombre'''</center>
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| <center>'''Comando'''</center>
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| <center>'''Uso'''</center>
| style="border:0.05pt solid #000000;padding:0.0382in;"| <center>'''Observaciones'''</center>

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Presupuesto
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Reporte de Presupuesto Individual
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| Filtra por Presupuesto. Visreppres




|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Productos



| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Reporte de Productos
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| 
|}

'''Procedimientos'''

{| style="border-spacing:0;"
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| <center>'''Nombre'''</center>
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| <center>'''Comando'''</center>
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| <center>'''Uso'''</center>
| style="border:0.05pt solid #000000;padding:0.0382in;"| <center>'''Observaciones'''</center>

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| CrearNuevaListaPrecios
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Procedure.CrearNuevaListaPrecios.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Agrega registración al tiempo de generar una nueva lista de precios.

FORM: Crear Nueva Lista
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| 

|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| DuplicaProductoCompo
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| FZG.Procedure.DuplicaProductoCompo.sql
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.

FORM: Copia Composicion
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;"| 

|}
=== ACL ===
# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)
# Verificar la instalación de GNUAwk
# Tomar nota de MACAddress del equipo.
# Grabar con semilla de nombre de datasource con el texto -> "sdbc:mysql:odbc:''<datasource>''"
## INSERT INTO wscontrol (wskey) VALUES (ENCODE(''<MACAddress>'',"sdbc:mysql:odbc:''<datasource>''"))
# Corroborar ACL
## SELECT wskey AS Cantidad, CAST(DECODE(wskey,'sdbc:mysql:odbc:FazzGlassGestion') AS Char(17)) FROM wscontrol