(473,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(474,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\n</pre>\n\n==== ====','utf-8'),(475,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\n\n==== ====','utf-8'),(476,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n==== ====','utf-8'),(477,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(478,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de Clientes\n== Composición ==\n*[[TABLA:contactos]]\n== SQL ==\n<pre>\nCREATE VIEW `clientes` AS\nSELECT `contactos`.`ContactoID` AS `ClienteID`,\n       `contactos`.`RazonSocial` AS `RazonSocial`,\n       `contactos`.`Direccion` AS `Direccion`,\n       `contactos`.`Localidad` AS `Localidad`,\n       `contactos`.`Provincia` AS `Provincia`,\n       `contactos`.`Pais` AS `Pais`,\n       `contactos`.`CPostal` AS `CPostal`,\n       `contactos`.`CUIT` AS `CUIT`,\n       `contactos`.`Area` AS `Area`,\n       `contactos`.`Telefono1` AS `Telefono1`,\n       `contactos`.`Telefono2` AS `Telefono2`,\n       `contactos`.`Telefono3` AS `Telefono3`,\n       `contactos`.`TelefonoM` AS `TelefonoM`,\n       `contactos`.`TelefonoF` AS `TelefonoF`,\n       `contactos`.`Correo1` AS `Correo1`,\n       `contactos`.`Correo2` AS `Correo2`,\n       `contactos`.`NContacto` AS `NContacto`,\n       `contactos`.`AContacto` AS `AContacto`,\n       `contactos`.`ListaPrecio` AS `ListaPrecio`,\n       `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`ClienteTag` = 1)\n</pre>\n== Bitácora ==\n*20120831\n**Cambio de Condición por cambio de tipo de variable \n== Uso ==\n== URL ==','utf-8'),(479,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(480,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====','utf-8'),(481,'20120902. Cambio para que tome las modificaciones sobre Precios y que siga la rueda\n\n<pre>\nCREATE VIEW `preciosvigentes` AS\nSELECT `precios`.`Lista` AS `Lista`,\n       `precios`.`ProductoID` AS `ProductoID`,\n       `precios`.`PrecioProd00` AS `PrecioProd00`,\n       `precios`.`PrecioProd01` AS `PrecioProd01`,\n       `precios`.`PrecioProd02` AS `PrecioProd02`,\n       `precios`.`PrecioProd03` AS `PrecioProd03`,\n       `precios`.`FechaEvento` AS `FechaModificacion`,\n       `precios`.`HoraEvento` AS `HoraModificacion`,\n       `precios`.`UserEvento` AS `UserModificacion`\nFROM `precios`\n</pre>','utf-8'),(482,'20120902. Cambio para que tome las modificaciones sobre Precios y que siga la rueda \n<pre>\nCREATE VIEW `preciosvigact` AS\nSELECT `preciosvigentes`.`Lista` AS `Lista`,\n       `preciosvigentes`.`ProductoID` AS `ProductoID`,\n       `productos`.`Descripcion` AS `Descripcion`,\n       `productos`.`CategoriaID` AS `CategoriaID`,\n       `productos`.`ProveedorID` AS `ProveedorID`,\n       `preciosvigentes`.`PrecioProd00` AS `PrecioProd00`,\n       `productos`.`CoefP00P01` AS `CoefP00P01`,\n       `preciosvigentes`.`PrecioProd01` AS `PrecioProd01`,\n       `productos`.`CoefP00P02` AS `CoefP00P02`,\n       `preciosvigentes`.`PrecioProd02` AS `PrecioProd02`,\n       `productos`.`CoefP00P03` AS `CoefP00P03`,\n       `preciosvigentes`.`PrecioProd03` AS `PrecioProd03`\nFROM (`productos`\n      JOIN `preciosvigentes`)\nWHERE (`productos`.`ProductoID` = `preciosvigentes`.`ProductoID`)\nORDER BY `preciosvigentes`.`ProductoID\n</pre>','utf-8'),(483,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| 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\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| 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.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| 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\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| 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\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(484,'== Descripción ==\nTipo de Elementos de Composición\n== Composición ==\n== SQL ==\n<pre>\nCREATE  TABLE `fzggestion`.`telemecomp` (\n  `TElementoID` INT(1) NOT NULL ,\n  `TElementoDSC` VARCHAR(45) NULL ,\n  PRIMARY KEY (`TElementoID`) );\n</pre>\n== Bitácora ==\n== Uso ==\nReferencial ElementoPM en [[TABLA:composicion]]\n== URL ==','utf-8'),(485,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====','utf-8'),(486,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:MasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(487,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(488,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(489,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó el.\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(490,'== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre><small>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    DELETE FROM productos WHERE `productos`.`ProductoID` = pProductoIDDst;\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</small></pre>\n== Bitácora ==\n*20100608\n**Al tiempo de reformular el [[FORM:CopiaComposicion]], se modifica el procedimiento que depende del [[BTN:Copiar]] del [[FORM:CopiaComposicion]]. Código Previo:\n<pre>\nDELIMITER $$\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`\n	FROM `fzggestion`.`composicion`\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre>\n*20120904\n**Se agrega al actual la cláusula de eliminación de los datos anteriores del producto destino si existiese.\n<pre><small>\nDELIMITER $$\n\nCREATE PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</small></pre>\n\n== Uso ==\n== URL ==','utf-8'),(491,'== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre><small>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    DELETE FROM productos WHERE `productos`.`ProductoID` = pProductoIDDst;\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</small></pre>\n== Bitácora ==\n*20100608\n**Al tiempo de reformular el [[FORM:CopiaComposicion]], se modifica el procedimiento que depende del [[BTN:Copiar]] del [[FORM:CopiaComposicion]]. Código Previo:\n<small><pre>\nDELIMITER $$\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`\n	FROM `fzggestion`.`composicion`\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n*20120904\n**Se agrega al actual la cláusula de eliminación de los datos anteriores del producto destino si existiese.  Código Previo:\n<small><pre>\nDELIMITER $$\n\nCREATE PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n\n== Uso ==\n== URL ==','utf-8'),(492,'== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    DELETE FROM productos WHERE `productos`.`ProductoID` = pProductoIDDst;\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n\n== Bitácora ==\n*20100608\n**Al tiempo de reformular el [[FORM:CopiaComposicion]], se modifica el procedimiento que depende del [[BTN:Copiar]] del [[FORM:CopiaComposicion]]. Código Previo:\n<small><pre>\nDELIMITER $$\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`\n	FROM `fzggestion`.`composicion`\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n*20120904\n**Se agrega al actual la cláusula de eliminación de los datos anteriores del producto destino si existiese.  Código Previo:\n<small><pre>\nDELIMITER $$\n\nCREATE PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n\n== Uso ==\n== URL ==','utf-8'),(493,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(494,'<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n\n\'\'\'Formularios\'\'\'\n----\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n\n\n\n\n</pre>','utf-8'),(495,'<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n\n\'\'\'Formularios\'\'\'\n----\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n\n\n\n\n</pre>','utf-8'),(496,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n\n\n\n</pre>','utf-8'),(497,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n== Descripción ==\n== Composición ==\n== Codigo ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n\n</pre>','utf-8'),(498,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n== Descripción ==\n== Composición ==\n== Codigo ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n</pre>','utf-8'),(499,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Composición ==\n== Codigo ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n</pre>','utf-8'),(500,'== Descripción ==\nBTN de copia del registro señalado en el [[FORM:CopiaComposicion]] sobre otro producto, existente o no.\n== Composición ==\n== Codigo ==\n<small><pre>\nfunction CopiaComposicion( oEvent ) as boolean\nDim SQLStatement As Object\nDim strSQLSearch As String\nDim oConnection As Object\nDim oForm As Object\nDim oMensaje As String\nDim vProductoIDOrg As String\nDim vProductoIDDst As String\nDim vProductoDSCDst As String\n\n	\'oForm			= ThisComponent.Drawpage.Forms.getByName(\"FormConsulta\")\n	oForm			= oEvent.Source.Model.Parent\n	oSubForm		= oForm.getByName(\"DetalleProductoOriginal\")\n	oSubFormGrid	= oSubForm.getByName(\"DetalleProductoOriginalGrid\")\n	vProductoIDOrg	= oSubFormGrid.getByName(\"ProductoID\").String\n	vProductoIDDst 	= oForm.getByName(\"fProductoID\").text\n	vProductoDSCDst = oForm.getByName(\"fProductoDSC\").text\n\n	if len(vProductoIDOrg) < 1 Then\n		MsgBox(\"Producto Origen no válido\", 0, \"Error\")\n		CopiaComposicion = False\n	else\n		if len(vProductoIDDst) < 1 Then\n			MsgBox(\"Producto Destino no válido\", 0, \"Error\")\n			CopiaComposicion = False		\n		else\n			if len(vProductoDSCDst) < 1 Then\n				MsgBox(\"Descripción Destino no válida\", 0, \"Error\")\n				CopiaComposicion = False\n			else\n				CopiaComposicion= False\n				oCondicion		= \"ProductoID=\" & chr(39) & vProductoIDDst & chr(39)\n				if QuerySimple(\"Count(*)\",\"HayProductos\",\"productos\",oCondicion,\"Integer\") > 0 Then\n					\'Existe un producto con ese código\n					oMensaje	= \"Existe un producto con el codigo de destino especificado. Si desea Si continua, se eliminarán todos los datos del \"\n					oMensaje	= oMensaje & \" producto anteriormente ingresado. ¿Desea continuar?\"\n					if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención\") = IDYES Then\n						CopiaComposicion= True	\n					endif\n				else\n					CopiaComposicion= True\n				end if\n				if CopiaComposicion Then\n					oMensaje = \"¿Está seguro de copiar la composicion de \" & vProductoIDOrg & \" a \" & vProductoIDDst & \"?\"\n				   	if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención\") = IDYES Then\n			       		oConnection = oEvent.Source.Model.getParent().ActiveConnection\n			    		SQLStatement = oConnection.preparestatement(\"CALL DuplicaProductoCompo(?,?,?)\")\n			    		SQLStatement.setstring(1,vProductoIDOrg)\n			    		SQLStatement.setstring(2,vProductoIDDst)\n			    		SQLStatement.setstring(3,vProductoDSCDst)	    			\n			    		SQLStatement.execute()\n						SQLStatement.close()\n						msgBox(\"Verifique los valores Base del nuevo Producto-Composición\", 0, \"Mensaje\")\n			    		oForm.getByName(\"fProductoID\").reset()\n						oForm.getByName(\"fProductoDSC\").reset()\n					else\n						CopiaComposicion= False\n				  	end if\n				end if\n			end if\n		end if\n	end if\nend function\n</pre></small>\n== Bitácora ==\n*20120904\n** Incorporación de preguntas para determinar si copia a pesar de existir previamente otro producto con ese código.\n== Uso ==\n[[FORM:CopiaComposicion]]','utf-8'),(501,'== Descripción ==\nBTN de copia del registro señalado en el [[FORM:CopiaComposicion]] sobre otro producto, existente o no. Hace un call al [[PROC:DuplicaProductoCompo]]\n\n== Composición ==\n== Codigo ==\n<small><pre>\nfunction CopiaComposicion( oEvent ) as boolean\nDim SQLStatement As Object\nDim strSQLSearch As String\nDim oConnection As Object\nDim oForm As Object\nDim oMensaje As String\nDim vProductoIDOrg As String\nDim vProductoIDDst As String\nDim vProductoDSCDst As String\n\n	\'oForm			= ThisComponent.Drawpage.Forms.getByName(\"FormConsulta\")\n	oForm			= oEvent.Source.Model.Parent\n	oSubForm		= oForm.getByName(\"DetalleProductoOriginal\")\n	oSubFormGrid	= oSubForm.getByName(\"DetalleProductoOriginalGrid\")\n	vProductoIDOrg	= oSubFormGrid.getByName(\"ProductoID\").String\n	vProductoIDDst 	= oForm.getByName(\"fProductoID\").text\n	vProductoDSCDst = oForm.getByName(\"fProductoDSC\").text\n\n	if len(vProductoIDOrg) < 1 Then\n		MsgBox(\"Producto Origen no válido\", 0, \"Error\")\n		CopiaComposicion = False\n	else\n		if len(vProductoIDDst) < 1 Then\n			MsgBox(\"Producto Destino no válido\", 0, \"Error\")\n			CopiaComposicion = False		\n		else\n			if len(vProductoDSCDst) < 1 Then\n				MsgBox(\"Descripción Destino no válida\", 0, \"Error\")\n				CopiaComposicion = False\n			else\n				CopiaComposicion= False\n				oCondicion		= \"ProductoID=\" & chr(39) & vProductoIDDst & chr(39)\n				if QuerySimple(\"Count(*)\",\"HayProductos\",\"productos\",oCondicion,\"Integer\") > 0 Then\n					\'Existe un producto con ese código\n					oMensaje	= \"Existe un producto con el codigo de destino especificado. Si desea Si continua, se eliminarán todos los datos del \"\n					oMensaje	= oMensaje & \" producto anteriormente ingresado. ¿Desea continuar?\"\n					if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención\") = IDYES Then\n						CopiaComposicion= True	\n					endif\n				else\n					CopiaComposicion= True\n				end if\n				if CopiaComposicion Then\n					oMensaje = \"¿Está seguro de copiar la composicion de \" & vProductoIDOrg & \" a \" & vProductoIDDst & \"?\"\n				   	if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención\") = IDYES Then\n			       		oConnection = oEvent.Source.Model.getParent().ActiveConnection\n			    		SQLStatement = oConnection.preparestatement(\"CALL DuplicaProductoCompo(?,?,?)\")\n			    		SQLStatement.setstring(1,vProductoIDOrg)\n			    		SQLStatement.setstring(2,vProductoIDDst)\n			    		SQLStatement.setstring(3,vProductoDSCDst)	    			\n			    		SQLStatement.execute()\n						SQLStatement.close()\n						msgBox(\"Verifique los valores Base del nuevo Producto-Composición\", 0, \"Mensaje\")\n			    		oForm.getByName(\"fProductoID\").reset()\n						oForm.getByName(\"fProductoDSC\").reset()\n					else\n						CopiaComposicion= False\n				  	end if\n				end if\n			end if\n		end if\n	end if\nend function\n</pre></small>\n== Bitácora ==\n*20120904\n** Incorporación de preguntas para determinar si copia a pesar de existir previamente otro producto con ese código.\n== Uso ==\n[[FORM:CopiaComposicion]]','utf-8'),(502,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine PROC:DuplicaProductoCompo en DB====','utf-8'),(503,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====','utf-8'),(504,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(505,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n\n== Atributos ==\n<pre>\nProductoID	char(8) PK \nElementoID	char(8) PK \nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8)\n</pre>\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8'),(506,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n\n== Atributos ==\n<pre>\nProductoID	char(8) PK \nElementoID	char(8) PK \nComposicID	int(11) PK AI\nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \n</pre>\n\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8'),(507,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n--*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.--\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n\n== Atributos ==\n<pre>\nProductoID	char(8) PK \nElementoID	char(8) PK \nComposicID	int(11) PK AI\nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \n</pre>\n\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8'),(508,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n*Pueden repetirse el conjunto Producto-Elemento ya que por cada repetición se agrega un identificativo no visible.\n\n== Atributos ==\n<pre>\nProductoID	char(8) PK \nElementoID	char(8) PK \nComposicID	int(11) PK AI\nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \n</pre>\n\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8');
INSERT INTO `peg_text` VALUES (509,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \n	ADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID`,\n	ADD COLUMN `vidquoten3col` VARCHAR(45) NULL AFTER `VidQuoteIncluyeDet`,\n   CHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID` ,\n	CHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteComposicID` ,\n	DROP PRIMARY KEY, \n	ADD PRIMARY KEY (\n		`VidQuoteID`,\n		`VidQuoteItem`,\n		`VidQuoteProdID`,\n		`VidQuoteElementoID`,\n		`VidQuoteComposicID`);\n</pre>','utf-8'),(510,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(511,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(512,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>','utf-8'),(513,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`;\nALTER TABLE `fzggestion`.`vidquoten3tmp` CHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID` ;','utf-8'),(514,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`;\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;','utf-8'),(515,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\n\n</pre>','utf-8'),(516,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>','utf-8'),(517,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| 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\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| 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.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| 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\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| 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\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:AltaItemPresupuestoTmp]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(518,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho).\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma TABLA:composicion para tomar todos los elementos como si fuesen productos y así listar aquellos que tengan más de un componente.\n\n== Composición ==\n== Codigo ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(519,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n== Codigo ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(520,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Codigo ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(521,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Codigo ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(522,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\nBorrador\n<pre>\nSELECT\n	50 as Presupuesto,\n	1 as Item,\n	\'VCMDG200\' as Prodcuto,\n	2 as Cantidad,\n	R1.ProdCmpID,\n    R1.ComposicID,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`)) AS pVidQuotePrecio,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`) * 2) AS pVidQuotePrecioP\nFROM\n(\n(SELECT \n    U1.ProductoID,\n    U1.ElementoID AS ProdCmpID,\n    U1.ComposicID,\n    U1.ElementoID,\n    U1.ElementoPM,\n    U2.Magnitud,\n    U1.ValorElemento,\n    U1.OffsetVanoAncho,\n    U1.OffsetVanoAlto,\n    U1.CoefVanoAncho,\n    U1.CoefVanoAlto,\n    (CASE (2)\n        WHEN 0 THEN U3.PrecioProd00\n        WHEN 1 THEN U3.PrecioProd01\n        WHEN 2 THEN U3.PrecioProd02\n        WHEN 3 THEN U3.PrecioProd03\n    END) AS PrecioProd\nFROM\n    fzggestion.productos AS U2,\n    fzggestion.composicion AS U1,\n    fzggestion.precios AS U3\nWHERE\n    U2.ProductoID = U1.ElementoID AND \n    U3.ProductoID = U2.ProductoID AND \n    U1.ProductoID = \'VCMDG200\' AND \n    U1.ElementoID = \'VCMDG200\' AND \n    U1.ElementoPM <= 1)\n\nUNION\n\n(SELECT \n    T1.ProductoID,\n    T1.ElementoID AS ProdCmpID,\n    T1.ComposicID,\n    T2.ElementoID,\n    T2.ElementoPM,\n    T3.Magnitud,\n    T1.ValorElemento,        \n    T1.OffsetVanoAncho,\n    T1.OffsetVanoAlto,\n    T1.CoefVanoAncho,\n    T1.CoefVanoAlto,\n    (CASE (2)\n     WHEN 0 THEN `T4`.`PrecioProd00`\n     WHEN 1 THEN `T4`.`PrecioProd01`\n     WHEN 2 THEN `T4`.`PrecioProd02`\n     WHEN 3 THEN `T4`.`PrecioProd03`\n    END) AS PrecioProd\nFROM\n    fzggestion.composicion AS T2,\n    fzggestion.composicion AS T1,\n    fzggestion.productos AS T3,\n    fzggestion.precios AS T4\nWHERE\n    T2.ProductoID = T1.ElementoID AND \n    T3.ProductoID = T2.ElementoID AND \n    T4.ProductoID = T3.ProductoID AND \n    T1.ProductoID <> T1.ElementoID AND \n    T2.ElementoPM <= 1 AND \n    T1.ProductoID = \'VCMDG200\' AND \n    T1.ElementoPM <= 1\nORDER BY\n    T1.ProductoID ASC ,\n    T1.ElementoID ASC ,\n    T1.ComposicID ASC ,\n    T2.ElementoID ASC)\n) AS R1\nGROUP BY ProdCmpID,ComposicID\n</pre>\n\n== Bitácora ==\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(523,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\nBorrador\n<pre>\nSELECT\n	50 as Presupuesto,\n	1 as Item,\n	\'VCMDG200\' as Prodcuto,\n	2 as Cantidad,\n	R1.ProdCmpID,\n    R1.ComposicID,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`)) AS pVidQuotePrecio,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`) * 2) AS pVidQuotePrecioP\nFROM\n(\n(SELECT \n    U1.ProductoID,\n    U1.ElementoID AS ProdCmpID,\n    U1.ComposicID,\n    U1.ElementoID,\n    U1.ElementoPM,\n    U2.Magnitud,\n    U1.ValorElemento,\n    U1.OffsetVanoAncho,\n    U1.OffsetVanoAlto,\n    U1.CoefVanoAncho,\n    U1.CoefVanoAlto,\n    (CASE (2)\n        WHEN 0 THEN U3.PrecioProd00\n        WHEN 1 THEN U3.PrecioProd01\n        WHEN 2 THEN U3.PrecioProd02\n        WHEN 3 THEN U3.PrecioProd03\n    END) AS PrecioProd\nFROM\n    fzggestion.productos AS U2,\n    fzggestion.composicion AS U1,\n    fzggestion.precios AS U3\nWHERE\n    U2.ProductoID = U1.ElementoID AND \n    U3.ProductoID = U2.ProductoID AND \n    U1.ProductoID = \'VCMDG200\' AND \n    U1.ElementoID = \'VCMDG200\' AND \n    U1.ElementoPM <= 1)\n\nUNION\n\n(SELECT \n    T1.ProductoID,\n    T1.ElementoID AS ProdCmpID,\n    T1.ComposicID,\n    T2.ElementoID,\n    T2.ElementoPM,\n    T3.Magnitud,\n    T1.ValorElemento,        \n    T1.OffsetVanoAncho,\n    T1.OffsetVanoAlto,\n    T1.CoefVanoAncho,\n    T1.CoefVanoAlto,\n    (CASE (2)\n     WHEN 0 THEN `T4`.`PrecioProd00`\n     WHEN 1 THEN `T4`.`PrecioProd01`\n     WHEN 2 THEN `T4`.`PrecioProd02`\n     WHEN 3 THEN `T4`.`PrecioProd03`\n    END) AS PrecioProd\nFROM\n    fzggestion.composicion AS T2,\n    fzggestion.composicion AS T1,\n    fzggestion.productos AS T3,\n    fzggestion.precios AS T4\nWHERE\n    T2.ProductoID = T1.ElementoID AND \n    T3.ProductoID = T2.ElementoID AND \n    T4.ProductoID = T3.ProductoID AND \n    T1.ProductoID <> T1.ElementoID AND \n    T2.ElementoPM <= 1 AND \n    T1.ProductoID = \'VCMDG200\' AND \n    T1.ElementoPM <= 1\nORDER BY\n    T1.ProductoID ASC ,\n    T1.ElementoID ASC ,\n    T1.ComposicID ASC ,\n    T2.ElementoID ASC)\n) AS R1\nGROUP BY ProdCmpID,ComposicID\n</pre>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(524,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(525,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\nBorrador\n<small><pre>\nSELECT\n	50 as Presupuesto,\n	1 as Item,\n	\'VCMDG200\' as Prodcuto,\n	2 as Cantidad,\n	R1.ProdCmpID,\n    R1.ComposicID,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`)) AS pVidQuotePrecio,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`) * 2) AS pVidQuotePrecioP\nFROM\n(\n(SELECT \n    U1.ProductoID,\n    U1.ElementoID AS ProdCmpID,\n    U1.ComposicID,\n    U1.ElementoID,\n    U1.ElementoPM,\n    U2.Magnitud,\n    U1.ValorElemento,\n    U1.OffsetVanoAncho,\n    U1.OffsetVanoAlto,\n    U1.CoefVanoAncho,\n    U1.CoefVanoAlto,\n    (CASE (2)\n        WHEN 0 THEN U3.PrecioProd00\n        WHEN 1 THEN U3.PrecioProd01\n        WHEN 2 THEN U3.PrecioProd02\n        WHEN 3 THEN U3.PrecioProd03\n    END) AS PrecioProd\nFROM\n    fzggestion.productos AS U2,\n    fzggestion.composicion AS U1,\n    fzggestion.precios AS U3\nWHERE\n    U2.ProductoID = U1.ElementoID AND \n    U3.ProductoID = U2.ProductoID AND \n    U1.ProductoID = \'VCMDG200\' AND \n    U1.ElementoID = \'VCMDG200\' AND \n    U1.ElementoPM <= 1)\n\nUNION\n\n(SELECT \n    T1.ProductoID,\n    T1.ElementoID AS ProdCmpID,\n    T1.ComposicID,\n    T2.ElementoID,\n    T2.ElementoPM,\n    T3.Magnitud,\n    T1.ValorElemento,        \n    T1.OffsetVanoAncho,\n    T1.OffsetVanoAlto,\n    T1.CoefVanoAncho,\n    T1.CoefVanoAlto,\n    (CASE (2)\n     WHEN 0 THEN `T4`.`PrecioProd00`\n     WHEN 1 THEN `T4`.`PrecioProd01`\n     WHEN 2 THEN `T4`.`PrecioProd02`\n     WHEN 3 THEN `T4`.`PrecioProd03`\n    END) AS PrecioProd\nFROM\n    fzggestion.composicion AS T2,\n    fzggestion.composicion AS T1,\n    fzggestion.productos AS T3,\n    fzggestion.precios AS T4\nWHERE\n    T2.ProductoID = T1.ElementoID AND \n    T3.ProductoID = T2.ElementoID AND \n    T4.ProductoID = T3.ProductoID AND \n    T1.ProductoID <> T1.ElementoID AND \n    T2.ElementoPM <= 1 AND \n    T1.ProductoID = \'VCMDG200\' AND \n    T1.ElementoPM <= 1\nORDER BY\n    T1.ProductoID ASC ,\n    T1.ElementoID ASC ,\n    T1.ComposicID ASC ,\n    T2.ElementoID ASC)\n) AS R1\nGROUP BY ProdCmpID,ComposicID\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(526,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\nBorrador\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5), IN pCoeficienteMU DECIMAL(5,2))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n    SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n    FROM\n		vidquoten3 AS S1\n    WHERE\n        S1.VidQuoteID=pVidQuoteID AND \n        S1.VidQuoteItem=pVidQuoteItem;\n\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n    SELECT\n		pVidQuoteID AS VidQuoteID,\n		pVidQuoteItem AS VidQuoteItem,\n		pVidQuoteProdID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteProdCantidad,\n	 	R1.ComposicID AS VidQuoteComposicID,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS pVidQuotePrecioP\n	FROM\n	(\n	(SELECT \n		 U1.ProductoID,\n		 U1.ElementoID AS ProdCmpID,\n		 U1.ComposicID,\n		 U1.ElementoID,\n		 U1.ElementoPM,\n		 U2.Magnitud,\n		 U1.ValorElemento,\n		 U1.OffsetVanoAncho,\n		 U1.OffsetVanoAlto,\n		 U1.CoefVanoAncho,\n		 U1.CoefVanoAlto,\n		 (CASE (2)\n		     WHEN 0 THEN U3.PrecioProd00\n		     WHEN 1 THEN U3.PrecioProd01\n		     WHEN 2 THEN U3.PrecioProd02\n		     WHEN 3 THEN U3.PrecioProd03\n		 END) AS PrecioProd\n	FROM\n		 fzggestion.productos AS U2,\n		 fzggestion.composicion AS U1,\n		 fzggestion.precios AS U3\n	WHERE\n		 U2.ProductoID = U1.ElementoID AND \n		 U3.ProductoID = U2.ProductoID AND \n		 U1.ProductoID = pVidQuoteProdID AND \n		 U1.ElementoID = pVidQuoteProdID AND \n		 U1.ElementoPM <= 1)\n\n	UNION\n\n	(SELECT \n		 T1.ProductoID,\n		 T1.ElementoID AS ProdCmpID,\n		 T1.ComposicID,\n		 T2.ElementoID,\n		 T2.ElementoPM,\n		 T3.Magnitud,\n		 T1.ValorElemento,        \n		 T1.OffsetVanoAncho,\n		 T1.OffsetVanoAlto,\n		 T1.CoefVanoAncho,\n		 T1.CoefVanoAlto,\n		 (CASE (2)\n		  WHEN 0 THEN `T4`.`PrecioProd00`\n		  WHEN 1 THEN `T4`.`PrecioProd01`\n		  WHEN 2 THEN `T4`.`PrecioProd02`\n		  WHEN 3 THEN `T4`.`PrecioProd03`\n		 END) AS PrecioProd\n	FROM\n		 fzggestion.composicion AS T2,\n		 fzggestion.composicion AS T1,\n		 fzggestion.productos AS T3,\n		 fzggestion.precios AS T4\n	WHERE\n		 T2.ProductoID = T1.ElementoID AND \n		 T3.ProductoID = T2.ElementoID AND \n		 T4.ProductoID = T3.ProductoID AND \n		 T1.ProductoID <> T1.ElementoID AND \n		 T2.ElementoPM <= 1 AND \n		 T1.ProductoID = pVidQuoteProdID AND \n		 T1.ElementoPM <= 1\n	ORDER BY\n		 T1.ProductoID ASC ,\n		 T1.ElementoID ASC ,\n		 T1.ComposicID ASC ,\n		 T2.ElementoID ASC)\n	) AS R1\n    WHERE \n        CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n        NOT IN (SELECT CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n        FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem)\n	GROUP BY ProdCmpID,ComposicID;\nEND\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(527,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de Clientes\n== Composición ==\n*[[TABLA:contactos]]\n== SQL ==\n<pre>\nCREATE VIEW `clientes` AS\nSELECT `contactos`.`ContactoID` AS `ClienteID`,\n       `contactos`.`RazonSocial` AS `RazonSocial`,\n       `contactos`.`Direccion` AS `Direccion`,\n       `contactos`.`Localidad` AS `Localidad`,\n       `contactos`.`Provincia` AS `Provincia`,\n       `contactos`.`Pais` AS `Pais`,\n       `contactos`.`CPostal` AS `CPostal`,\n       `contactos`.`CUIT` AS `CUIT`,\n       `contactos`.`Area` AS `Area`,\n       `contactos`.`Telefono1` AS `Telefono1`,\n       `contactos`.`Telefono2` AS `Telefono2`,\n       `contactos`.`Telefono3` AS `Telefono3`,\n       `contactos`.`TelefonoM` AS `TelefonoM`,\n       `contactos`.`TelefonoF` AS `TelefonoF`,\n       `contactos`.`Correo1` AS `Correo1`,\n       `contactos`.`Correo2` AS `Correo2`,\n       `contactos`.`NContacto` AS `NContacto`,\n       `contactos`.`AContacto` AS `AContacto`,\n       `contactos`.`ListaPrecio` AS `ListaPrecio`,\n       `contactos`.`CoeficienteAC` AS `CoeficienteAC`,\n       `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`ClienteTag` = 1)\n</pre>\n\n== Bitácora ==\n*20120831\n**Cambio de Condición por cambio de tipo de variable \n== Uso ==\n== URL ==','utf-8'),(528,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(529,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE PROCEDURE `AltaItemPresupuestoTmp` (\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\n\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    INSERT INTO debugstmt (Fecha,Hora,Texto) \n		VALUES (\n			CURDATE(),\n			CURTIME(),\n			CONCAT(\n				CAST(pVidQuoteID AS CHAR),\"-\",\n				CAST(pVidQuoteLPre AS CHAR),\"-\",\n				CAST(pVidQuoteItem AS CHAR),\"-\",\n				pVidQuoteProdID,\"-\",\n				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n				CAST(pVidQuoteAncho AS CHAR),\"-\",\n				CAST(pVidQuoteAlto AS CHAR)\n				)\n			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		R1.VidQuoteID,\n		R1.VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS pVidQuotePrecioP\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		WHERE \n			CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n			NOT IN (SELECT CONCAT(Q1.VidQuoteProdID,Q1.VidQuoteElementoID,LPAD(CAST(Q1.VidQuoteComposicID AS CHAR),3,\'000\'))\n			FROM vidquoten3tmp AS Q1 WHERE Q1.VidQuoteID=pVidQuoteID AND Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY VidQuoteElementoID,VidQuoteComposicID;\nEND\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(530,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.Warning-icon-hi.png\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(531,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(532,'== Descripción ==\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre><small>\n== Bitácora ==\n== Uso ==','utf-8'),(533,'== Descripción ==\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n== Uso ==','utf-8'),(534,'== Descripción ==\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Se corrige la línea \'\'\'SET @fld = \" \"\'\'\' debido a que estaba tipeado \'\'\'@fls\'\'\'\n**Se cambia la variable @sql por @qry. Aparentemente la nueva versión de la DB toma la variable @sql como una constante del sistema\n\n== Uso ==','utf-8'),(535,'== Descripción ==\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Se corrige la línea \'\'\'SET @fld = \" \"\'\'\' debido a que estaba tipeado \'\'\'@fls\'\'\'\n**Se cambia la variable \'\'\'@sql\'\'\' por \'\'\'@qry\'\'\'. Aparentemente la nueva versión de la DB toma la variable @sql como una constante del sistema\n\n== Uso ==','utf-8'),(536,'== Descripción ==\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Se corrige la línea \'\'\'SET @fld = \" \"\'\'\' debido a que estaba tipeado \'\'\'@fls\'\'\'\n**Se cambia la variable \'\'\'@sql\'\'\' por \'\'\'@qry\'\'\'. Aparentemente la nueva versión de la DB toma la variable @sql como una constante del sistema\n\n== Uso ==\n*[[MACRO:RecalculaPrecios]]\n*[[FORM:PreciosTabularxProcesos]]','utf-8'),(537,'== Descripción ==\nCalcula los valores de las diferentes listas de precios vigentes a partir de un valor indicado y los coeficientes de actualización asociados a cada producto.\n\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Se corrige la línea \'\'\'SET @fld = \" \"\'\'\' debido a que estaba tipeado \'\'\'@fls\'\'\'\n**Se cambia la variable \'\'\'@sql\'\'\' por \'\'\'@qry\'\'\'. Aparentemente la nueva versión de la DB toma la variable @sql como una constante del sistema\n\n== Uso ==\n*[[MACRO:RecalculaPrecios]]\n*[[FORM:PreciosTabularxProcesos]]','utf-8'),(538,'== Descripción ==\nCalcula los valores de las diferentes listas de precios vigentes a partir de un valor indicado y los coeficientes de actualización asociados a cada producto.\n\n== Composición ==\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Se corrige la línea \'\'\'SET @fld = \" \"\'\'\' debido a que estaba tipeado \'\'\'@fls\'\'\'\n**Se cambia la variable \'\'\'@sql\'\'\' por \'\'\'@qry\'\'\'. Aparentemente la nueva versión de la DB toma la variable @sql como una constante del sistema\n\n== Uso ==\n*[[MACRO:RecalculaPrecios]]\n*[[FORM:PreciosTabularxProcesos]]','utf-8'),(539,'== Descripción ==\nDetecta que Control presiona y dependiendo de ello, ejecuta el calculo a través del [[PROC:ActualizaPreciosTabular]]\n== Composición ==\n== Codigo ==\n<pre>\nfunction RecalculaPrecios( oEvent ) as boolean\nDim SQLStatement As Object\nDim strSQLSearch As String\nDim strQRYSearch As String\nDim oConnection As Object\nDim oForm As Object\nDim TextoMensaje As String\nDim oBotonSeleccionado As String\nDim oTextoVariable As String\nDim oAccion As String\nDim oFiltro As String\nDim vProductoIDOrg, vProductoIDDst As String\n	RecalculaPrecios = False\n	oForm=oEvent.Source.Model.Parent\n	oBotonSeleccionado=oEvent.Source.Model.Name\n	select case oBotonSeleccionado\n		case \"BotonOpcionATP001\":\n			oTextoVariable=\"Precios en base al Costo\"\n			oAccion=\"1\"\n		case \"BotonOpcionATP002\":\n			oTextoVariable=\"Costo en Base a Precio 1\"\n			oAccion=\"2\"\n		case \"BotonOpcionATP003\":\n			oTextoVariable=\"Costo en Base a Precio 2\"\n			oAccion=\"3\"\n		case \"BotonOpcionATP004\":\n			oTextoVariable=\"Costo en Base a Precio 3\"\n			oAccion=\"4\"	\n	end select\n	TextoMensaje = \"¿Está seguro de modificar los valores de \" & oTextoVariable & \" en base al filtro seleccionado?\"\n 	select case msgBox(TextoMensaje, 1, \"!Atención!\" )\n 		case 1:\n			oConnection = oEvent.Source.Model.getParent().ActiveConnection\n			oFiltro = oForm.Filter\n			if oForm.Filter<>\"\" then\n				oFiltro = ReemplazaStr(oFiltro,\"`ProductoID` IN\",\"`precios`.`ProductoID` IN\")\n			end if\n			\'msgBox(oFiltro)\n			SQLStatement = oConnection.preparestatement(\"CALL ActualizaPreciosTabular(?,?)\")\n	    	SQLStatement.setstring(1,oFiltro)\n	    	SQLStatement.setstring(2,oAccion)\n	    	SQLStatement.execute()\n			SQLStatement.close()\n			RecalculaPrecios = True\n		case 2:\n			RecalculaPrecios = False\n	end select\n	oForm.reload()\nend function\n</pre>\n== Bitácora ==\n*20120907\n**Última actualización\n== Uso ==\n*[[FORM:PreciosTabularxProcesos]]','utf-8'),(540,'== Descripción ==\nDetecta que Control presiona y dependiendo de ello, ejecuta el calculo a través del [[PROC:ActualizaPreciosTabular]]\n== Composición ==\n== Código ==\n<small><pre>\nfunction RecalculaPrecios( oEvent ) as boolean\nDim SQLStatement As Object\nDim strSQLSearch As String\nDim strQRYSearch As String\nDim oConnection As Object\nDim oForm As Object\nDim TextoMensaje As String\nDim oBotonSeleccionado As String\nDim oTextoVariable As String\nDim oAccion As String\nDim oFiltro As String\nDim vProductoIDOrg, vProductoIDDst As String\n	RecalculaPrecios = False\n	oForm=oEvent.Source.Model.Parent\n	oBotonSeleccionado=oEvent.Source.Model.Name\n	select case oBotonSeleccionado\n		case \"BotonOpcionATP001\":\n			oTextoVariable=\"Precios en base al Costo\"\n			oAccion=\"1\"\n		case \"BotonOpcionATP002\":\n			oTextoVariable=\"Costo en Base a Precio 1\"\n			oAccion=\"2\"\n		case \"BotonOpcionATP003\":\n			oTextoVariable=\"Costo en Base a Precio 2\"\n			oAccion=\"3\"\n		case \"BotonOpcionATP004\":\n			oTextoVariable=\"Costo en Base a Precio 3\"\n			oAccion=\"4\"	\n	end select\n	TextoMensaje = \"¿Está seguro de modificar los valores de \" & oTextoVariable & \" en base al filtro seleccionado?\"\n 	select case msgBox(TextoMensaje, 1, \"!Atención!\" )\n 		case 1:\n			oConnection = oEvent.Source.Model.getParent().ActiveConnection\n			oFiltro = oForm.Filter\n			if oForm.Filter<>\"\" then\n				oFiltro = ReemplazaStr(oFiltro,\"`ProductoID` IN\",\"`precios`.`ProductoID` IN\")\n			end if\n			\'msgBox(oFiltro)\n			SQLStatement = oConnection.preparestatement(\"CALL ActualizaPreciosTabular(?,?)\")\n	    	SQLStatement.setstring(1,oFiltro)\n	    	SQLStatement.setstring(2,oAccion)\n	    	SQLStatement.execute()\n			SQLStatement.close()\n			RecalculaPrecios = True\n		case 2:\n			RecalculaPrecios = False\n	end select\n	oForm.reload()\nend function\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Última actualización\n== Uso ==\n*[[FORM:PreciosTabularxProcesos]]','utf-8'),(541,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Composición ==\n== Código ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n</pre>','utf-8'),(542,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    INSERT INTO debugstmt (Fecha,Hora,Texto) \n		VALUES (\n			CURDATE(),\n			CURTIME(),\n			CONCAT(\n				CAST(pVidQuoteID AS CHAR),\"-\",\n				CAST(pVidQuoteLPre AS CHAR),\"-\",\n				CAST(pVidQuoteItem AS CHAR),\"-\",\n				pVidQuoteProdID,\"-\",\n				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n				CAST(pVidQuoteAncho AS CHAR),\"-\",\n				CAST(pVidQuoteAlto AS CHAR)\n				)\n			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=50 AND \n					Q1.VidQuoteItem=3)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(543,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(544,'== Descripción ==\n== Composición ==\n== Código ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `GrabaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n    DELETE FROM vidquoten3 WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n       VidQuoteIncluyeDet)\n	SELECT\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n       VidQuoteElementoID,\n       VidQuotePrecio,\n       VidQuotePrecioP,\n       VidQuoteIncluyeDet\n	FROM\n        vidquoten3tmp\n    WHERE\n        VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\nEND\n</pre></small>\n== Bitácora ==\n== Uso ==','utf-8'),(545,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>','utf-8'),(546,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM','utf-8'),(547,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ResetEdicionItemTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n   DECLARE vVarNum INT(5);\n   SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n   CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:GrabaItemPresupuestoTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\n	DELETE\n	FROM vidquoten3tmp\n	WHERE\n		VidQuoteID=pVidQuoteID AND \n		VidQuoteItem=pVidQuoteItem;\n    SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:GrabaItemPresupuestoTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\nEND$$','utf-8'),(548,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====','utf-8'),(549,'== Descripción ==\nElimina las registraciones temporales al tiempo de pulsar el reset de la operación de edición de componentes en presupuesto.\n== Composición ==\n[[TABLA:vidquoten3tmp]]\n== Código ==\n<small><pre>\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ResetEdicionItemTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n   DECLARE vVarNum INT(5);\n   SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n   CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:GrabaItemPresupuestoTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\n	DELETE\n	FROM vidquoten3tmp\n	WHERE\n		VidQuoteID=pVidQuoteID AND \n		VidQuoteItem=pVidQuoteItem;\n    SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:GrabaItemPresupuestoTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\nEND$$\n</pre></small>\n== Bitácora ==\n*20120908\n**Creación\n== Uso ==\n[[FORM:Presupuesto]]','utf-8'),(550,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n* [[PROC:ResetEdicionItemTmp]]. Creación para eliminar las registraciones temporarias en [[TABLA:vidquoten3tmp]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(551,'== Descripción ==\nElimina las registraciones temporales al tiempo de pulsar el reset de la operación de edición de componentes en presupuesto.\n== Composición ==\n[[TABLA:vidquoten3tmp]]\n== Código ==\n<small><pre>\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ResetEdicionItemTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n   DECLARE vVarNum INT(5);\n   SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n   CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:ResetEdicionItemTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\n	DELETE\n	FROM vidquoten3tmp\n	WHERE\n		VidQuoteID=pVidQuoteID AND \n		VidQuoteItem=pVidQuoteItem;\n    SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:ResetEdicionItemTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\nEND$$\n</pre></small>\n== Bitácora ==\n*20120908\n**Creación\n== Uso ==\n[[FORM:Presupuesto]]','utf-8'),(552,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n* [[PROC:ResetEdicionItemTmp]]. Creación para eliminar las registraciones temporarias en [[TABLA:vidquoten3tmp]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomerciales]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(553,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de AComerciales.\n== Composición ==\n*[[TABLA:contactos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `acomerciales` AS\nSELECT `contactos`.`ContactoID` AS `ProveedorID`,\n       `contactos`.`ContactoIDAbrv` AS `Abreviatura`,\n       `contactos`.`RazonSocial` AS `RazonSocial`,\n       `contactos`.`Direccion` AS `Direccion`,\n       `contactos`.`Localidad` AS `Localidad`,\n       `contactos`.`Provincia` AS `Provincia`,\n       `contactos`.`Pais` AS `Pais`,\n       `contactos`.`CPostal` AS `CPostal`,\n       `contactos`.`CUIT` AS `CUIT`,\n       `contactos`.`Area` AS `Area`,\n       `contactos`.`Telefono1` AS `Telefono1`,\n       `contactos`.`Telefono2` AS `Telefono2`,\n       `contactos`.`Telefono3` AS `Telefono3`,\n       `contactos`.`TelefonoM` AS `TelefonoM`,\n       `contactos`.`TelefonoF` AS `TelefonoF`,\n       `contactos`.`Correo1` AS `Correo1`,\n       `contactos`.`Correo2` AS `Correo2`,\n       `contactos`.`NContacto` AS `NContacto`,\n       `contactos`.`AContacto` AS `AContacto`,\n       `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`AComercialTag` = 1)\n</pre>\n== Bitácora ==\n*20120125\n**Alta Vista\n*20120911\n**Cambio de Condición para reflejar el cambio de estructura de la [[TABLA:contactos]]\n== Uso ==\n*[[FORM:presupuesto]]','utf-8'),(554,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]','utf-8'),(555,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n* [[PROC:ResetEdicionItemTmp]]. Creación para eliminar las registraciones temporarias en [[TABLA:vidquoten3tmp]]\n* [[FORM:Presupuesto]]. Cambios\n** Se habilita la posibilidad de solo consulta para todos los Presupuestos Aprobados con [[MACRO:ControlFormPresupuesto]].\n** Se limita la posibilidad de eliminar Presupuesto / Producto para Presupuestos Aprobados y se habilita el LOC (Last Opportunity Check) con [[MACRO:ConfirmaDeletePresupuesto]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomerciales]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(556,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n* [[PROC:ResetEdicionItemTmp]]. Creación para eliminar las registraciones temporarias en [[TABLA:vidquoten3tmp]]\n* [[FORM:Presupuesto]]. Cambios\n** Se habilita la posibilidad de solo consulta para todos los Presupuestos Aprobados con [[MACRO:ControlFormPresupuesto]].\n** Se limita la posibilidad de eliminar Presupuesto / Producto para Presupuestos Aprobados y se habilita el LOC (Last Opportunity Check) con [[MACRO:ConfirmaDeletePresupuesto]]\n** Chequeos [[FORM:Presupuesto]]V1.0.\n***Form:Cabecera\n****[[MACRO:NewResetListBox]]: No es necesario. No se usa más la modificación del contenido del ListBox OTA.\n****[[MACRO:PresupuestoExpirado]]: Optimizar y agregar como función dentro de [[MACRO:ControlFormPresupuesto]]\n****[[MACRO:EventoWhenLoadingFromCabecera]]\n*****Confirmar [[MACRO:ChequeoLicenciaOK]]\n*****Eliminar limpieza ListBox\n*****Asigna default Fecha Presupuesto con [[MACRO:Hoy]]\n*****Eliminar Reset ListBoxes\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomerciales]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),