(1214,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20121201====\n=====Problemas Conocidos=====\n*[[FORM:Presupuesto]]. Aleatoriamente no hace el cálculo o no lo refresca correctamente.\n*[[TKT:FZG.000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\n*[[TKT:FZG.000002]]. Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional. Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]. Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]]. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\n*[[FORM:Modulos]]. Cambio de diseño para incluir el [[FORM:Modulos.FormModulos.FormDetalleProducto.FormSubSet]] como control para el ingreso de ocurrencias de subconjuntos de lineas de control. Se crea la [[MACRO:ChangeFieldtxtSubSetTPFORMModulos]] para la validación del identificativo de Wide/Height del elemento.\n*[[TABLA:modulosdet]]. Cambio de esquema para albergar ocurrencias de Subconjuntos de \"lineas de control\" con el alta de la [[TABLA:modulossbs]].\n*[[VISTA:viscompcnt]]. Restylish de la vista\n*[[FORM:CopiaComposicion]]. Restylish, modificación de SubForm.\n*[[VISTA:productosdisp]]. Generación de vista de productos incluyendo los generados a partir de [[TABLA:bocetos]]\n*[[TABLA:productos]]. Agregado de atributo CompoEdit para señalar si el producto es editable o no. Es automático y no debe estar permitida su modificación por parte del usuario. No se modifica el [[FORM:Productos]] en su layout pero si se agrega controles de completado automático.\n*[[TABLA:productos]]. Agregado de atributo ProductoOr para señalar el tipo de origen de la registración. No se modifica el [[FORM:Productos]]  en su layout pero si se agrega controles de completado automático.\n*[[TABLA:composicion]]. Agregado del atributo ComposicOBS para señalar una diferenciación del nombre del producto en los casos de códigos de elementos repetidos y de diferente conformación en los parámetros de la composicion.\n*[[FORM:ComposicionMasivoPorProducto]]. Agregado de la captura del atributo ComposicOBS.[[BTCR:20130322]]\n\n====Release 20121030====\n=====Problemas Conocidos=====\n*Aleatoriamente no elimina registros y cuando se visualiza o refresca la tabla, hace shutdown de la sesión\n=====Correcciones y Agregados=====\n* [[MACRO:AprobacionPresupuesto]]. Corrección. Se modifica la acción posterior de redespliegue de subformularios eliminando las instrucciones anteriores y sumando la rutina [[MACRO:ControlFormPresupuesto]]\n====Release 20121029====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n* [[TABLA:vidquoten1]]. Corrección. Se agregan los controles de NOTNULL a los atributos de Cliente y de Agente Comercial.\n* [[FORM:Presupuesto]]. Corrección. Por diferencias aparentes en las versiones de la DB vs. ODBC se cambia el DataSource de [[FORM:Presupuesto.DataCliente]] para que lo haga sobre la [[TABLA:contactos]] y no sobre la [[VISTA:clientes]].\n* [[FORM:Presupuesto]]. Corrección. Se agregan los controles de límites para los atributos de Ancho y Alto dentro de [[FORM:Presupuestos.Productos]].\n**El esquema funciona haciendo un llamado básicamente a la rutina indicada en [[MACRO:CheckValidMeasure]] ante los eventos de ItemChange de ambas columnas.\n**Se modifica el esquema de [[MACRO:EventoBRCDetallePresupuesto]] que gestionaba a la fecha escencialmente el alta de registros en [[TABLA:viquoten3]] transfiriendo esa ejecución del alta a traves de [[MACRO:AltaProductoPresupuesto]] que se ejecuta en [[MACRO:EventoARADetallePresupuesto]] con los parámetros de acción provenientes de [[MACRO:EventoBRADetallePresupuesto]]. Es precisamente la [[MACRO:EventoARADetallePresupuesto]], donde efectua el chequeo [[MACRO:CheckValidMeasure]], que siendo declarada como función, retorna el valor del chequeo para que se mantenga dentro del mismo control en el caso de error.\n**Esta modificación general permite que el refresco del Control correspondiente al Subtotal lo haga aún si presiona el ícono de grabar sin efectuar el \"gesture\" natural de la secuencia de ingreso de datos (presionar [Enter]) del registro en el [[FORM:Presupuesto.Productos.ProductosGrid]].\n\n====Release 20121024====\n=====Correcciones y Agregados=====\n* [[FORM:PosicionCRM]]. Corrección de Data Source.\n* [[RPRT:IndividualCRM]]. Corrección de Data Source y MakeUp Fecha Detalle\n* [[FORM:ConsultaClienteCRM]]. Corrección de Data Source de [[FORM:ConsultaClienteCRM.MainForm.SFSaldo]]\n* [[TABLA:magnitudes]]. Agregado de tabla\n====Release 20121005====\n=====Problemas Conocidos=====\n* [[FORM:PosicionCRM]]. Existen diferencias en los origenes de datos por lo que muestra diferentes resultados de [[FORM:ConsultaClientesCRM]]\n=====Correcciones y Agregados=====\n* [[PROC:AltaItemPresupuestoTmp]]. Corrección. Error en el procedimiento. El error radicaba en que la condición de los registros existentes dentro de la [[TABLA:vidquoten3tmp]] para evitar el agregado de esos mismos registro por parte del procedimiento desde la [[TABLA:componentes]]. Los valores que existían eran las constantes utilizadas para las pruebas. Se procede al reemplazo por parte de los parámetros provenientes de la función que llama al procedimiento. Se agrega además un parche para asignar el atributo ElementoPM para aquellos Elementos que no han arrastrado previamente por algún motivo este elemento al momento de grabar.\n* [[VISTA:proveedores]]. Cambio de formato del tag\n* [[PROC:CalculoPrecio]]. Agregado de los cálculos correspondientes a las nuevas magnitudes ALto y ANcho.\n* [[FORM:Presupuesto]]. Corrección. Ordenamiento del vector de ProductosDSC.\n* [[FORM:Presupuesto]]. Agregado. Se agrega la opción dentro del ListBox correspondiente a ProductosDSC de \"Selección de Filtro\". Lanza la [[MACRO:ControlLista]] y recupera el valor anterior con [[MACRO:ResetFiltroProductoFORMPresupuesto]].\n* [[FORM:Presupuesto]]. Corrección. Se agrega la función para afectar las eliminaciones de productos.\n* [[FORM:Presupuesto]]. Corrección. Se elimina el tabstop del campo de aprobado.\n* [[FORM:Aux000002]]. Corrección. Se cambia la Property de Add record.\n* [[MACRO:SugerenciaContactoID]]. Se agrega la distinción para que pueda ser leido correctamente desde [[FORM:Aux000002]].\n* [[FORM:Presupuesto]]. Se elimina la visualización del boton de prueba en la zona de Composicion.\n* [[FORM:Presupuesto]]. Se agrega valor por defecto en [[CTRL:Presupuesto.txtVidQuoteACom]]\n* [[FORM:Presupuesto]]. Se agrega la visualización del FORM:ComponentesDisplay desde [[MACRO:EventoWhenLoadingFormCabecera]]\n====Release 20120912====\n=====Problemas Conocidos=====\n* [[FORM:Presupuesto]]. La ayuda específica de ingreso de la descripción de producto no funciona.\n* [[FORM:PosicionCRM]]. El reporte [[RPRT:IndividualCRM]] muestra problemas aleatorios en la última columna (despliega aleatoriamente decimales).\n=====Correcciones y Agregados=====\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataCliente para evitar repetir la consulta de los datos del cliente (descripción, coeficientes agregados, etc.)\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataAgente para evitar repetir la consulta ya que se agrega la modalidad de aplicar el coeficiente que tiene el agente comercial adicional al del cliente y a los definidos en el módulo de precios.\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\n* [[VISTA:acomerciales]]. Se cambia el nombre del ID principal por AComercialID y se agregan los datos de Coeficiente que proviene de la [[TABLA:contactos]].\n* [[TABLA:contactos]]. Se agrega un atributo que puede representar la fotografía o logo de la empresa contacto.\n* [[PROC:AltaItemPresupuesto]]. Correcciones y Test.\n* [[PROC:ActualizaItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Actualiza_Item_Presupuesto]]. Creación en el evento SQL BEFORE UPDATE sobre [[TABLA:vidquoten2]] para reemplazar la ejecución del proceso de actualización en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\n* [[PROC:CopiaPresupuesto]]. Reactivación a razón del rediseño [[FORM:Presupuesto]].\n* [[FORM:Presupuesto]]. Inclusion del ordenamiento por el atributo VidQuoteID dentro de [[TABLA:vidquoten1]]\n\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:PresupuestoV1.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****[[MACRO:EventoBRADetallePresupuesto]]\n*****Sin Cambios\n****[[MACRO:EventoBRCDetallePresupuesto]]\n****[[MACRO:BotonActualizarPresupuesto]]\n*****Adaptación al nuevo [[PROC:ActualizaPreciosPresupuesto]]\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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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'),(1215,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20121201====\n=====Problemas Conocidos=====\n*[[FORM:Presupuesto]]. Aleatoriamente no hace el cálculo o no lo refresca correctamente.\n*[[TKT:FZG.000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\n*[[TKT:FZG.000002]]. Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional. Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]. Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]]. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\n*[[FORM:Modulos]]. Cambio de diseño para incluir el [[FORM:Modulos.FormModulos.FormDetalleProducto.FormSubSet]] como control para el ingreso de ocurrencias de subconjuntos de lineas de control. Se crea la [[MACRO:ChangeFieldtxtSubSetTPFORMModulos]] para la validación del identificativo de Wide/Height del elemento.\n*[[TABLA:modulosdet]]. Cambio de esquema para albergar ocurrencias de Subconjuntos de \"lineas de control\" con el alta de la [[TABLA:modulossbs]].\n*[[VISTA:viscompcnt]]. Restylish de la vista\n*[[FORM:CopiaComposicion]]. Restylish, modificación de SubForm.\n*[[VISTA:productosdisp]]. Generación de vista de productos incluyendo los generados a partir de [[TABLA:bocetos]]\n*[[TABLA:productos]]. Agregado de atributo CompoEdit para señalar si el producto es editable o no. Es automático y no debe estar permitida su modificación por parte del usuario. No se modifica el [[FORM:Productos]] en su layout pero si se agrega controles de completado automático.\n*[[TABLA:productos]]. Agregado de atributo ProductoOr para señalar el tipo de origen de la registración. No se modifica el [[FORM:Productos]]  en su layout pero si se agrega controles de completado automático.\n*[[TABLA:composicion]]. Agregado del atributo ComposicOBS para señalar una diferenciación del nombre del producto en los casos de códigos de elementos repetidos y de diferente conformación en los parámetros de la composicion.\n*[[FORM:ComposicionMasivoPorProducto]]. Agregado de la captura del atributo ComposicOBS. [[BTCR:20130322]]\n\n====Release 20121030====\n=====Problemas Conocidos=====\n*Aleatoriamente no elimina registros y cuando se visualiza o refresca la tabla, hace shutdown de la sesión\n=====Correcciones y Agregados=====\n* [[MACRO:AprobacionPresupuesto]]. Corrección. Se modifica la acción posterior de redespliegue de subformularios eliminando las instrucciones anteriores y sumando la rutina [[MACRO:ControlFormPresupuesto]]\n====Release 20121029====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n* [[TABLA:vidquoten1]]. Corrección. Se agregan los controles de NOTNULL a los atributos de Cliente y de Agente Comercial.\n* [[FORM:Presupuesto]]. Corrección. Por diferencias aparentes en las versiones de la DB vs. ODBC se cambia el DataSource de [[FORM:Presupuesto.DataCliente]] para que lo haga sobre la [[TABLA:contactos]] y no sobre la [[VISTA:clientes]].\n* [[FORM:Presupuesto]]. Corrección. Se agregan los controles de límites para los atributos de Ancho y Alto dentro de [[FORM:Presupuestos.Productos]].\n**El esquema funciona haciendo un llamado básicamente a la rutina indicada en [[MACRO:CheckValidMeasure]] ante los eventos de ItemChange de ambas columnas.\n**Se modifica el esquema de [[MACRO:EventoBRCDetallePresupuesto]] que gestionaba a la fecha escencialmente el alta de registros en [[TABLA:viquoten3]] transfiriendo esa ejecución del alta a traves de [[MACRO:AltaProductoPresupuesto]] que se ejecuta en [[MACRO:EventoARADetallePresupuesto]] con los parámetros de acción provenientes de [[MACRO:EventoBRADetallePresupuesto]]. Es precisamente la [[MACRO:EventoARADetallePresupuesto]], donde efectua el chequeo [[MACRO:CheckValidMeasure]], que siendo declarada como función, retorna el valor del chequeo para que se mantenga dentro del mismo control en el caso de error.\n**Esta modificación general permite que el refresco del Control correspondiente al Subtotal lo haga aún si presiona el ícono de grabar sin efectuar el \"gesture\" natural de la secuencia de ingreso de datos (presionar [Enter]) del registro en el [[FORM:Presupuesto.Productos.ProductosGrid]].\n\n====Release 20121024====\n=====Correcciones y Agregados=====\n* [[FORM:PosicionCRM]]. Corrección de Data Source.\n* [[RPRT:IndividualCRM]]. Corrección de Data Source y MakeUp Fecha Detalle\n* [[FORM:ConsultaClienteCRM]]. Corrección de Data Source de [[FORM:ConsultaClienteCRM.MainForm.SFSaldo]]\n* [[TABLA:magnitudes]]. Agregado de tabla\n====Release 20121005====\n=====Problemas Conocidos=====\n* [[FORM:PosicionCRM]]. Existen diferencias en los origenes de datos por lo que muestra diferentes resultados de [[FORM:ConsultaClientesCRM]]\n=====Correcciones y Agregados=====\n* [[PROC:AltaItemPresupuestoTmp]]. Corrección. Error en el procedimiento. El error radicaba en que la condición de los registros existentes dentro de la [[TABLA:vidquoten3tmp]] para evitar el agregado de esos mismos registro por parte del procedimiento desde la [[TABLA:componentes]]. Los valores que existían eran las constantes utilizadas para las pruebas. Se procede al reemplazo por parte de los parámetros provenientes de la función que llama al procedimiento. Se agrega además un parche para asignar el atributo ElementoPM para aquellos Elementos que no han arrastrado previamente por algún motivo este elemento al momento de grabar.\n* [[VISTA:proveedores]]. Cambio de formato del tag\n* [[PROC:CalculoPrecio]]. Agregado de los cálculos correspondientes a las nuevas magnitudes ALto y ANcho.\n* [[FORM:Presupuesto]]. Corrección. Ordenamiento del vector de ProductosDSC.\n* [[FORM:Presupuesto]]. Agregado. Se agrega la opción dentro del ListBox correspondiente a ProductosDSC de \"Selección de Filtro\". Lanza la [[MACRO:ControlLista]] y recupera el valor anterior con [[MACRO:ResetFiltroProductoFORMPresupuesto]].\n* [[FORM:Presupuesto]]. Corrección. Se agrega la función para afectar las eliminaciones de productos.\n* [[FORM:Presupuesto]]. Corrección. Se elimina el tabstop del campo de aprobado.\n* [[FORM:Aux000002]]. Corrección. Se cambia la Property de Add record.\n* [[MACRO:SugerenciaContactoID]]. Se agrega la distinción para que pueda ser leido correctamente desde [[FORM:Aux000002]].\n* [[FORM:Presupuesto]]. Se elimina la visualización del boton de prueba en la zona de Composicion.\n* [[FORM:Presupuesto]]. Se agrega valor por defecto en [[CTRL:Presupuesto.txtVidQuoteACom]]\n* [[FORM:Presupuesto]]. Se agrega la visualización del FORM:ComponentesDisplay desde [[MACRO:EventoWhenLoadingFormCabecera]]\n====Release 20120912====\n=====Problemas Conocidos=====\n* [[FORM:Presupuesto]]. La ayuda específica de ingreso de la descripción de producto no funciona.\n* [[FORM:PosicionCRM]]. El reporte [[RPRT:IndividualCRM]] muestra problemas aleatorios en la última columna (despliega aleatoriamente decimales).\n=====Correcciones y Agregados=====\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataCliente para evitar repetir la consulta de los datos del cliente (descripción, coeficientes agregados, etc.)\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataAgente para evitar repetir la consulta ya que se agrega la modalidad de aplicar el coeficiente que tiene el agente comercial adicional al del cliente y a los definidos en el módulo de precios.\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\n* [[VISTA:acomerciales]]. Se cambia el nombre del ID principal por AComercialID y se agregan los datos de Coeficiente que proviene de la [[TABLA:contactos]].\n* [[TABLA:contactos]]. Se agrega un atributo que puede representar la fotografía o logo de la empresa contacto.\n* [[PROC:AltaItemPresupuesto]]. Correcciones y Test.\n* [[PROC:ActualizaItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Actualiza_Item_Presupuesto]]. Creación en el evento SQL BEFORE UPDATE sobre [[TABLA:vidquoten2]] para reemplazar la ejecución del proceso de actualización en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\n* [[PROC:CopiaPresupuesto]]. Reactivación a razón del rediseño [[FORM:Presupuesto]].\n* [[FORM:Presupuesto]]. Inclusion del ordenamiento por el atributo VidQuoteID dentro de [[TABLA:vidquoten1]]\n\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:PresupuestoV1.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****[[MACRO:EventoBRADetallePresupuesto]]\n*****Sin Cambios\n****[[MACRO:EventoBRCDetallePresupuesto]]\n****[[MACRO:BotonActualizarPresupuesto]]\n*****Adaptación al nuevo [[PROC:ActualizaPreciosPresupuesto]]\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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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'),(1216,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20121201====\n=====Problemas Conocidos=====\n*[[FORM:Presupuesto]]. Aleatoriamente no hace el cálculo o no lo refresca correctamente.\n*[[TKT:FZG.000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\n*[[TKT:FZG.000002]]. Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional. Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]. Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]]. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\n*[[FORM:Modulos]]. Cambio de diseño para incluir el [[FORM:Modulos.FormModulos.FormDetalleProducto.FormSubSet]] como control para el ingreso de ocurrencias de subconjuntos de lineas de control. Se crea la [[MACRO:ChangeFieldtxtSubSetTPFORMModulos]] para la validación del identificativo de Wide/Height del elemento.\n*[[TABLA:modulosdet]]. Cambio de esquema para albergar ocurrencias de Subconjuntos de \"lineas de control\" con el alta de la [[TABLA:modulossbs]].\n*[[VISTA:viscompcnt]]. Restylish de la vista\n*[[FORM:CopiaComposicion]]. Restylish, modificación de SubForm.\n*[[VISTA:productosdisp]]. Generación de vista de productos incluyendo los generados a partir de [[TABLA:bocetos]]\n*[[TABLA:productos]]. Agregado de atributo CompoEdit para señalar si el producto es editable o no. Es automático y no debe estar permitida su modificación por parte del usuario. No se modifica el [[FORM:Productos]] en su layout pero si se agrega controles de completado automático.\n*[[TABLA:productos]]. Agregado de atributo ProductoOr para señalar el tipo de origen de la registración. No se modifica el [[FORM:Productos]]  en su layout pero si se agrega controles de completado automático.\n*[[TABLA:composicion]]. Agregado del atributo ComposicOBS para señalar una diferenciación del nombre del producto en los casos de códigos de elementos repetidos y de diferente conformación en los parámetros de la composicion.\n*[[FORM:ComposicionMasivoPorProducto]]. Agregado de la captura del atributo ComposicOBS. [[BTCR:20130322]]\n*[[FORM:Presupuestos]]. Agregado de la captura del atributo ComposicOBS. [[BTCR:20130322]]\n\n====Release 20121030====\n=====Problemas Conocidos=====\n*Aleatoriamente no elimina registros y cuando se visualiza o refresca la tabla, hace shutdown de la sesión\n=====Correcciones y Agregados=====\n* [[MACRO:AprobacionPresupuesto]]. Corrección. Se modifica la acción posterior de redespliegue de subformularios eliminando las instrucciones anteriores y sumando la rutina [[MACRO:ControlFormPresupuesto]]\n====Release 20121029====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n* [[TABLA:vidquoten1]]. Corrección. Se agregan los controles de NOTNULL a los atributos de Cliente y de Agente Comercial.\n* [[FORM:Presupuesto]]. Corrección. Por diferencias aparentes en las versiones de la DB vs. ODBC se cambia el DataSource de [[FORM:Presupuesto.DataCliente]] para que lo haga sobre la [[TABLA:contactos]] y no sobre la [[VISTA:clientes]].\n* [[FORM:Presupuesto]]. Corrección. Se agregan los controles de límites para los atributos de Ancho y Alto dentro de [[FORM:Presupuestos.Productos]].\n**El esquema funciona haciendo un llamado básicamente a la rutina indicada en [[MACRO:CheckValidMeasure]] ante los eventos de ItemChange de ambas columnas.\n**Se modifica el esquema de [[MACRO:EventoBRCDetallePresupuesto]] que gestionaba a la fecha escencialmente el alta de registros en [[TABLA:viquoten3]] transfiriendo esa ejecución del alta a traves de [[MACRO:AltaProductoPresupuesto]] que se ejecuta en [[MACRO:EventoARADetallePresupuesto]] con los parámetros de acción provenientes de [[MACRO:EventoBRADetallePresupuesto]]. Es precisamente la [[MACRO:EventoARADetallePresupuesto]], donde efectua el chequeo [[MACRO:CheckValidMeasure]], que siendo declarada como función, retorna el valor del chequeo para que se mantenga dentro del mismo control en el caso de error.\n**Esta modificación general permite que el refresco del Control correspondiente al Subtotal lo haga aún si presiona el ícono de grabar sin efectuar el \"gesture\" natural de la secuencia de ingreso de datos (presionar [Enter]) del registro en el [[FORM:Presupuesto.Productos.ProductosGrid]].\n\n====Release 20121024====\n=====Correcciones y Agregados=====\n* [[FORM:PosicionCRM]]. Corrección de Data Source.\n* [[RPRT:IndividualCRM]]. Corrección de Data Source y MakeUp Fecha Detalle\n* [[FORM:ConsultaClienteCRM]]. Corrección de Data Source de [[FORM:ConsultaClienteCRM.MainForm.SFSaldo]]\n* [[TABLA:magnitudes]]. Agregado de tabla\n====Release 20121005====\n=====Problemas Conocidos=====\n* [[FORM:PosicionCRM]]. Existen diferencias en los origenes de datos por lo que muestra diferentes resultados de [[FORM:ConsultaClientesCRM]]\n=====Correcciones y Agregados=====\n* [[PROC:AltaItemPresupuestoTmp]]. Corrección. Error en el procedimiento. El error radicaba en que la condición de los registros existentes dentro de la [[TABLA:vidquoten3tmp]] para evitar el agregado de esos mismos registro por parte del procedimiento desde la [[TABLA:componentes]]. Los valores que existían eran las constantes utilizadas para las pruebas. Se procede al reemplazo por parte de los parámetros provenientes de la función que llama al procedimiento. Se agrega además un parche para asignar el atributo ElementoPM para aquellos Elementos que no han arrastrado previamente por algún motivo este elemento al momento de grabar.\n* [[VISTA:proveedores]]. Cambio de formato del tag\n* [[PROC:CalculoPrecio]]. Agregado de los cálculos correspondientes a las nuevas magnitudes ALto y ANcho.\n* [[FORM:Presupuesto]]. Corrección. Ordenamiento del vector de ProductosDSC.\n* [[FORM:Presupuesto]]. Agregado. Se agrega la opción dentro del ListBox correspondiente a ProductosDSC de \"Selección de Filtro\". Lanza la [[MACRO:ControlLista]] y recupera el valor anterior con [[MACRO:ResetFiltroProductoFORMPresupuesto]].\n* [[FORM:Presupuesto]]. Corrección. Se agrega la función para afectar las eliminaciones de productos.\n* [[FORM:Presupuesto]]. Corrección. Se elimina el tabstop del campo de aprobado.\n* [[FORM:Aux000002]]. Corrección. Se cambia la Property de Add record.\n* [[MACRO:SugerenciaContactoID]]. Se agrega la distinción para que pueda ser leido correctamente desde [[FORM:Aux000002]].\n* [[FORM:Presupuesto]]. Se elimina la visualización del boton de prueba en la zona de Composicion.\n* [[FORM:Presupuesto]]. Se agrega valor por defecto en [[CTRL:Presupuesto.txtVidQuoteACom]]\n* [[FORM:Presupuesto]]. Se agrega la visualización del FORM:ComponentesDisplay desde [[MACRO:EventoWhenLoadingFormCabecera]]\n====Release 20120912====\n=====Problemas Conocidos=====\n* [[FORM:Presupuesto]]. La ayuda específica de ingreso de la descripción de producto no funciona.\n* [[FORM:PosicionCRM]]. El reporte [[RPRT:IndividualCRM]] muestra problemas aleatorios en la última columna (despliega aleatoriamente decimales).\n=====Correcciones y Agregados=====\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataCliente para evitar repetir la consulta de los datos del cliente (descripción, coeficientes agregados, etc.)\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataAgente para evitar repetir la consulta ya que se agrega la modalidad de aplicar el coeficiente que tiene el agente comercial adicional al del cliente y a los definidos en el módulo de precios.\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\n* [[VISTA:acomerciales]]. Se cambia el nombre del ID principal por AComercialID y se agregan los datos de Coeficiente que proviene de la [[TABLA:contactos]].\n* [[TABLA:contactos]]. Se agrega un atributo que puede representar la fotografía o logo de la empresa contacto.\n* [[PROC:AltaItemPresupuesto]]. Correcciones y Test.\n* [[PROC:ActualizaItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Actualiza_Item_Presupuesto]]. Creación en el evento SQL BEFORE UPDATE sobre [[TABLA:vidquoten2]] para reemplazar la ejecución del proceso de actualización en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\n* [[PROC:CopiaPresupuesto]]. Reactivación a razón del rediseño [[FORM:Presupuesto]].\n* [[FORM:Presupuesto]]. Inclusion del ordenamiento por el atributo VidQuoteID dentro de [[TABLA:vidquoten1]]\n\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:PresupuestoV1.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****[[MACRO:EventoBRADetallePresupuesto]]\n*****Sin Cambios\n****[[MACRO:EventoBRCDetallePresupuesto]]\n****[[MACRO:BotonActualizarPresupuesto]]\n*****Adaptación al nuevo [[PROC:ActualizaPreciosPresupuesto]]\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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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'),(1217,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20121201====\n=====Problemas Conocidos=====\n*[[FORM:Presupuesto]]. Aleatoriamente no hace el cálculo o no lo refresca correctamente.\n*[[TKT:FZG.000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\n*[[TKT:FZG.000002]]. Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional. Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]. Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]]. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\n*[[FORM:Modulos]]. Cambio de diseño para incluir el [[FORM:Modulos.FormModulos.FormDetalleProducto.FormSubSet]] como control para el ingreso de ocurrencias de subconjuntos de lineas de control. Se crea la [[MACRO:ChangeFieldtxtSubSetTPFORMModulos]] para la validación del identificativo de Wide/Height del elemento.\n*[[TABLA:modulosdet]]. Cambio de esquema para albergar ocurrencias de Subconjuntos de \"lineas de control\" con el alta de la [[TABLA:modulossbs]].\n*[[VISTA:viscompcnt]]. Restylish de la vista\n*[[FORM:CopiaComposicion]]. Restylish, modificación de SubForm.\n*[[VISTA:productosdisp]]. Generación de vista de productos incluyendo los generados a partir de [[TABLA:bocetos]]\n*[[TABLA:productos]]. Agregado de atributo CompoEdit para señalar si el producto es editable o no. Es automático y no debe estar permitida su modificación por parte del usuario. No se modifica el [[FORM:Productos]] en su layout pero si se agrega controles de completado automático.\n*[[TABLA:productos]]. Agregado de atributo ProductoOr para señalar el tipo de origen de la registración. No se modifica el [[FORM:Productos]]  en su layout pero si se agrega controles de completado automático.\n*[[TABLA:composicion]]. Agregado del atributo ComposicOBS para señalar una diferenciación del nombre del producto en los casos de códigos de elementos repetidos y de diferente conformación en los parámetros de la composicion.\n*[[FORM:ComposicionMasivoPorProducto]]. Agregado de la captura del atributo ComposicOBS. [[BTCR:20130322]]\n*[[FORM:Presupuesto]]. Agregado de la captura del atributo ComposicOBS. [[BTCR:20130322]]\n\n====Release 20121030====\n=====Problemas Conocidos=====\n*Aleatoriamente no elimina registros y cuando se visualiza o refresca la tabla, hace shutdown de la sesión\n=====Correcciones y Agregados=====\n* [[MACRO:AprobacionPresupuesto]]. Corrección. Se modifica la acción posterior de redespliegue de subformularios eliminando las instrucciones anteriores y sumando la rutina [[MACRO:ControlFormPresupuesto]]\n====Release 20121029====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n* [[TABLA:vidquoten1]]. Corrección. Se agregan los controles de NOTNULL a los atributos de Cliente y de Agente Comercial.\n* [[FORM:Presupuesto]]. Corrección. Por diferencias aparentes en las versiones de la DB vs. ODBC se cambia el DataSource de [[FORM:Presupuesto.DataCliente]] para que lo haga sobre la [[TABLA:contactos]] y no sobre la [[VISTA:clientes]].\n* [[FORM:Presupuesto]]. Corrección. Se agregan los controles de límites para los atributos de Ancho y Alto dentro de [[FORM:Presupuestos.Productos]].\n**El esquema funciona haciendo un llamado básicamente a la rutina indicada en [[MACRO:CheckValidMeasure]] ante los eventos de ItemChange de ambas columnas.\n**Se modifica el esquema de [[MACRO:EventoBRCDetallePresupuesto]] que gestionaba a la fecha escencialmente el alta de registros en [[TABLA:viquoten3]] transfiriendo esa ejecución del alta a traves de [[MACRO:AltaProductoPresupuesto]] que se ejecuta en [[MACRO:EventoARADetallePresupuesto]] con los parámetros de acción provenientes de [[MACRO:EventoBRADetallePresupuesto]]. Es precisamente la [[MACRO:EventoARADetallePresupuesto]], donde efectua el chequeo [[MACRO:CheckValidMeasure]], que siendo declarada como función, retorna el valor del chequeo para que se mantenga dentro del mismo control en el caso de error.\n**Esta modificación general permite que el refresco del Control correspondiente al Subtotal lo haga aún si presiona el ícono de grabar sin efectuar el \"gesture\" natural de la secuencia de ingreso de datos (presionar [Enter]) del registro en el [[FORM:Presupuesto.Productos.ProductosGrid]].\n\n====Release 20121024====\n=====Correcciones y Agregados=====\n* [[FORM:PosicionCRM]]. Corrección de Data Source.\n* [[RPRT:IndividualCRM]]. Corrección de Data Source y MakeUp Fecha Detalle\n* [[FORM:ConsultaClienteCRM]]. Corrección de Data Source de [[FORM:ConsultaClienteCRM.MainForm.SFSaldo]]\n* [[TABLA:magnitudes]]. Agregado de tabla\n====Release 20121005====\n=====Problemas Conocidos=====\n* [[FORM:PosicionCRM]]. Existen diferencias en los origenes de datos por lo que muestra diferentes resultados de [[FORM:ConsultaClientesCRM]]\n=====Correcciones y Agregados=====\n* [[PROC:AltaItemPresupuestoTmp]]. Corrección. Error en el procedimiento. El error radicaba en que la condición de los registros existentes dentro de la [[TABLA:vidquoten3tmp]] para evitar el agregado de esos mismos registro por parte del procedimiento desde la [[TABLA:componentes]]. Los valores que existían eran las constantes utilizadas para las pruebas. Se procede al reemplazo por parte de los parámetros provenientes de la función que llama al procedimiento. Se agrega además un parche para asignar el atributo ElementoPM para aquellos Elementos que no han arrastrado previamente por algún motivo este elemento al momento de grabar.\n* [[VISTA:proveedores]]. Cambio de formato del tag\n* [[PROC:CalculoPrecio]]. Agregado de los cálculos correspondientes a las nuevas magnitudes ALto y ANcho.\n* [[FORM:Presupuesto]]. Corrección. Ordenamiento del vector de ProductosDSC.\n* [[FORM:Presupuesto]]. Agregado. Se agrega la opción dentro del ListBox correspondiente a ProductosDSC de \"Selección de Filtro\". Lanza la [[MACRO:ControlLista]] y recupera el valor anterior con [[MACRO:ResetFiltroProductoFORMPresupuesto]].\n* [[FORM:Presupuesto]]. Corrección. Se agrega la función para afectar las eliminaciones de productos.\n* [[FORM:Presupuesto]]. Corrección. Se elimina el tabstop del campo de aprobado.\n* [[FORM:Aux000002]]. Corrección. Se cambia la Property de Add record.\n* [[MACRO:SugerenciaContactoID]]. Se agrega la distinción para que pueda ser leido correctamente desde [[FORM:Aux000002]].\n* [[FORM:Presupuesto]]. Se elimina la visualización del boton de prueba en la zona de Composicion.\n* [[FORM:Presupuesto]]. Se agrega valor por defecto en [[CTRL:Presupuesto.txtVidQuoteACom]]\n* [[FORM:Presupuesto]]. Se agrega la visualización del FORM:ComponentesDisplay desde [[MACRO:EventoWhenLoadingFormCabecera]]\n====Release 20120912====\n=====Problemas Conocidos=====\n* [[FORM:Presupuesto]]. La ayuda específica de ingreso de la descripción de producto no funciona.\n* [[FORM:PosicionCRM]]. El reporte [[RPRT:IndividualCRM]] muestra problemas aleatorios en la última columna (despliega aleatoriamente decimales).\n=====Correcciones y Agregados=====\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataCliente para evitar repetir la consulta de los datos del cliente (descripción, coeficientes agregados, etc.)\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataAgente para evitar repetir la consulta ya que se agrega la modalidad de aplicar el coeficiente que tiene el agente comercial adicional al del cliente y a los definidos en el módulo de precios.\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\n* [[VISTA:acomerciales]]. Se cambia el nombre del ID principal por AComercialID y se agregan los datos de Coeficiente que proviene de la [[TABLA:contactos]].\n* [[TABLA:contactos]]. Se agrega un atributo que puede representar la fotografía o logo de la empresa contacto.\n* [[PROC:AltaItemPresupuesto]]. Correcciones y Test.\n* [[PROC:ActualizaItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Actualiza_Item_Presupuesto]]. Creación en el evento SQL BEFORE UPDATE sobre [[TABLA:vidquoten2]] para reemplazar la ejecución del proceso de actualización en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\n* [[PROC:CopiaPresupuesto]]. Reactivación a razón del rediseño [[FORM:Presupuesto]].\n* [[FORM:Presupuesto]]. Inclusion del ordenamiento por el atributo VidQuoteID dentro de [[TABLA:vidquoten1]]\n\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:PresupuestoV1.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****[[MACRO:EventoBRADetallePresupuesto]]\n*****Sin Cambios\n****[[MACRO:EventoBRCDetallePresupuesto]]\n****[[MACRO:BotonActualizarPresupuesto]]\n*****Adaptación al nuevo [[PROC:ActualizaPreciosPresupuesto]]\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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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'),(1218,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20121201====\n=====Problemas Conocidos=====\n*[[FORM:Presupuesto]]. Aleatoriamente no hace el cálculo o no lo refresca correctamente.\n*[[TKT:FZG.000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\n*[[TKT:FZG.000002]]. Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional. Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]. Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]]. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n*[[TKT:FZG.000011]]. En apariencia los algoritmos en Windows / Unix no otorgan los mismos resultados para el control de licencias.\n\n=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\n*[[FORM:Modulos]]. Cambio de diseño para incluir el [[FORM:Modulos.FormModulos.FormDetalleProducto.FormSubSet]] como control para el ingreso de ocurrencias de subconjuntos de lineas de control. Se crea la [[MACRO:ChangeFieldtxtSubSetTPFORMModulos]] para la validación del identificativo de Wide/Height del elemento.\n*[[TABLA:modulosdet]]. Cambio de esquema para albergar ocurrencias de Subconjuntos de \"lineas de control\" con el alta de la [[TABLA:modulossbs]].\n*[[VISTA:viscompcnt]]. Restylish de la vista\n*[[FORM:CopiaComposicion]]. Restylish, modificación de SubForm.\n*[[VISTA:productosdisp]]. Generación de vista de productos incluyendo los generados a partir de [[TABLA:bocetos]]\n*[[TABLA:productos]]. Agregado de atributo CompoEdit para señalar si el producto es editable o no. Es automático y no debe estar permitida su modificación por parte del usuario. No se modifica el [[FORM:Productos]] en su layout pero si se agrega controles de completado automático.\n*[[TABLA:productos]]. Agregado de atributo ProductoOr para señalar el tipo de origen de la registración. No se modifica el [[FORM:Productos]]  en su layout pero si se agrega controles de completado automático.\n*[[TABLA:composicion]]. Agregado del atributo ComposicOBS para señalar una diferenciación del nombre del producto en los casos de códigos de elementos repetidos y de diferente conformación en los parámetros de la composicion.\n*[[FORM:ComposicionMasivoPorProducto]]. Agregado de la captura del atributo ComposicOBS. [[BTCR:20130322]]\n*[[FORM:Presupuesto]]. Agregado de la captura del atributo ComposicOBS. [[BTCR:20130322]]\n\n====Release 20121030====\n=====Problemas Conocidos=====\n*Aleatoriamente no elimina registros y cuando se visualiza o refresca la tabla, hace shutdown de la sesión\n=====Correcciones y Agregados=====\n* [[MACRO:AprobacionPresupuesto]]. Corrección. Se modifica la acción posterior de redespliegue de subformularios eliminando las instrucciones anteriores y sumando la rutina [[MACRO:ControlFormPresupuesto]]\n====Release 20121029====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n* [[TABLA:vidquoten1]]. Corrección. Se agregan los controles de NOTNULL a los atributos de Cliente y de Agente Comercial.\n* [[FORM:Presupuesto]]. Corrección. Por diferencias aparentes en las versiones de la DB vs. ODBC se cambia el DataSource de [[FORM:Presupuesto.DataCliente]] para que lo haga sobre la [[TABLA:contactos]] y no sobre la [[VISTA:clientes]].\n* [[FORM:Presupuesto]]. Corrección. Se agregan los controles de límites para los atributos de Ancho y Alto dentro de [[FORM:Presupuestos.Productos]].\n**El esquema funciona haciendo un llamado básicamente a la rutina indicada en [[MACRO:CheckValidMeasure]] ante los eventos de ItemChange de ambas columnas.\n**Se modifica el esquema de [[MACRO:EventoBRCDetallePresupuesto]] que gestionaba a la fecha escencialmente el alta de registros en [[TABLA:viquoten3]] transfiriendo esa ejecución del alta a traves de [[MACRO:AltaProductoPresupuesto]] que se ejecuta en [[MACRO:EventoARADetallePresupuesto]] con los parámetros de acción provenientes de [[MACRO:EventoBRADetallePresupuesto]]. Es precisamente la [[MACRO:EventoARADetallePresupuesto]], donde efectua el chequeo [[MACRO:CheckValidMeasure]], que siendo declarada como función, retorna el valor del chequeo para que se mantenga dentro del mismo control en el caso de error.\n**Esta modificación general permite que el refresco del Control correspondiente al Subtotal lo haga aún si presiona el ícono de grabar sin efectuar el \"gesture\" natural de la secuencia de ingreso de datos (presionar [Enter]) del registro en el [[FORM:Presupuesto.Productos.ProductosGrid]].\n\n====Release 20121024====\n=====Correcciones y Agregados=====\n* [[FORM:PosicionCRM]]. Corrección de Data Source.\n* [[RPRT:IndividualCRM]]. Corrección de Data Source y MakeUp Fecha Detalle\n* [[FORM:ConsultaClienteCRM]]. Corrección de Data Source de [[FORM:ConsultaClienteCRM.MainForm.SFSaldo]]\n* [[TABLA:magnitudes]]. Agregado de tabla\n====Release 20121005====\n=====Problemas Conocidos=====\n* [[FORM:PosicionCRM]]. Existen diferencias en los origenes de datos por lo que muestra diferentes resultados de [[FORM:ConsultaClientesCRM]]\n=====Correcciones y Agregados=====\n* [[PROC:AltaItemPresupuestoTmp]]. Corrección. Error en el procedimiento. El error radicaba en que la condición de los registros existentes dentro de la [[TABLA:vidquoten3tmp]] para evitar el agregado de esos mismos registro por parte del procedimiento desde la [[TABLA:componentes]]. Los valores que existían eran las constantes utilizadas para las pruebas. Se procede al reemplazo por parte de los parámetros provenientes de la función que llama al procedimiento. Se agrega además un parche para asignar el atributo ElementoPM para aquellos Elementos que no han arrastrado previamente por algún motivo este elemento al momento de grabar.\n* [[VISTA:proveedores]]. Cambio de formato del tag\n* [[PROC:CalculoPrecio]]. Agregado de los cálculos correspondientes a las nuevas magnitudes ALto y ANcho.\n* [[FORM:Presupuesto]]. Corrección. Ordenamiento del vector de ProductosDSC.\n* [[FORM:Presupuesto]]. Agregado. Se agrega la opción dentro del ListBox correspondiente a ProductosDSC de \"Selección de Filtro\". Lanza la [[MACRO:ControlLista]] y recupera el valor anterior con [[MACRO:ResetFiltroProductoFORMPresupuesto]].\n* [[FORM:Presupuesto]]. Corrección. Se agrega la función para afectar las eliminaciones de productos.\n* [[FORM:Presupuesto]]. Corrección. Se elimina el tabstop del campo de aprobado.\n* [[FORM:Aux000002]]. Corrección. Se cambia la Property de Add record.\n* [[MACRO:SugerenciaContactoID]]. Se agrega la distinción para que pueda ser leido correctamente desde [[FORM:Aux000002]].\n* [[FORM:Presupuesto]]. Se elimina la visualización del boton de prueba en la zona de Composicion.\n* [[FORM:Presupuesto]]. Se agrega valor por defecto en [[CTRL:Presupuesto.txtVidQuoteACom]]\n* [[FORM:Presupuesto]]. Se agrega la visualización del FORM:ComponentesDisplay desde [[MACRO:EventoWhenLoadingFormCabecera]]\n====Release 20120912====\n=====Problemas Conocidos=====\n* [[FORM:Presupuesto]]. La ayuda específica de ingreso de la descripción de producto no funciona.\n* [[FORM:PosicionCRM]]. El reporte [[RPRT:IndividualCRM]] muestra problemas aleatorios en la última columna (despliega aleatoriamente decimales).\n=====Correcciones y Agregados=====\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataCliente para evitar repetir la consulta de los datos del cliente (descripción, coeficientes agregados, etc.)\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataAgente para evitar repetir la consulta ya que se agrega la modalidad de aplicar el coeficiente que tiene el agente comercial adicional al del cliente y a los definidos en el módulo de precios.\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\n* [[VISTA:acomerciales]]. Se cambia el nombre del ID principal por AComercialID y se agregan los datos de Coeficiente que proviene de la [[TABLA:contactos]].\n* [[TABLA:contactos]]. Se agrega un atributo que puede representar la fotografía o logo de la empresa contacto.\n* [[PROC:AltaItemPresupuesto]]. Correcciones y Test.\n* [[PROC:ActualizaItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Actualiza_Item_Presupuesto]]. Creación en el evento SQL BEFORE UPDATE sobre [[TABLA:vidquoten2]] para reemplazar la ejecución del proceso de actualización en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\n* [[PROC:CopiaPresupuesto]]. Reactivación a razón del rediseño [[FORM:Presupuesto]].\n* [[FORM:Presupuesto]]. Inclusion del ordenamiento por el atributo VidQuoteID dentro de [[TABLA:vidquoten1]]\n\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:PresupuestoV1.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****[[MACRO:EventoBRADetallePresupuesto]]\n*****Sin Cambios\n****[[MACRO:EventoBRCDetallePresupuesto]]\n****[[MACRO:BotonActualizarPresupuesto]]\n*****Adaptación al nuevo [[PROC:ActualizaPreciosPresupuesto]]\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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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'),(1219,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' SAS\n*\'\'\'Fecha:\'\'\' 20130410\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nLos algoritmos de comprobación de licencia parecen no funcionar correctamente bajo Windows\n=====WorkAround=====\nStandBy\n=====Resolución=====\n=====Estado=====\n=====Observaciones=====','utf-8'),(1220,'== Notes ==\n\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|-\n|850417886\n|FZG\n|FZG001\n|-\n|219838925\n|FZG\n|FZG002\n|-\n|707325105\n|FZG\n|FZG010\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1221,'== Notes ==\n\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n[[Estadística Registraciones Spanex]]\n[[Category:OOBasicCode]]\n*\'\'\'site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=8481\n*\'\'\'autor\'\'\': DannyB\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|-\n|850417886\n|FZG\n|FZG001\n|-\n|219838925\n|FZG\n|FZG002\n|-\n|707325105\n|FZG\n|FZG010\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1222,'[[Category:SQLCode]]\n*\'\'\'site\'\'\': cloudoffice.com.ar\n*\'\'\'autor\'\'\': SAS\n<pre>\nSELECT \n    \'Productos\' as DatosDe,\n    \'2013.03.21\' as Fecha,\n    COUNT(*) AS Registraciones\nFROM\n    fzggestion_20130321.productos \nUNION SELECT \n    \'Productos\' as DatosDe,\n    \'2013.04.05\' as Fecha,\n    COUNT(*) AS Registraciones\nFROM\n    fzggestion.productos \nUNION SELECT \n    \'Composiciones\' as DatosDe,\n    \'2013.03.21\' as Fecha,\n    COUNT(*) AS Registraciones\nFROM\n    fzggestion_20130321.composicion \nUNION SELECT \n    \'Composiciones\' as DatosDe,\n    \'2013.04.05\' as Fecha,\n    COUNT(*) AS Registraciones\nfrom\n    fzggestion.composicion \nUNION SELECT \n    \'Precios\' as DatosDe,\n    \'2013.03.21\' as Fecha,\n    COUNT(*) AS Registraciones\nfrom\n    fzggestion_20130321.precios \nUNION SELECT \n    \'Precios\' as DatosDe,\n    \'2013.04.05\' as Fecha,\n    COUNT(*) AS Registraciones\nFROM\n    fzggestion.precios \nUNION SELECT \n    \'Presupuestos\' as DatosDe,\n    \'2013.03.21\' as Fecha,\n    COUNT(*) AS Registraciones\nFROM\n    fzggestion_20130321.vidquoten1 \nUNION SELECT \n    \'Presupuestos\' as DatosDe,\n    \'2013.04.05\' as Fecha,\n    COUNT(*) AS Registraciones\nFROM\n    fzggestion.vidquoten1 \nUNION SELECT \n    \'Productos Presupuestados\' as DatosDe,\n    \'2013.03.21\' as Fecha,\n    COUNT(*) AS Registraciones\nFROM\n    fzggestion_20130321.vidquoten2 \nUNION SELECT \n    \'Productos Presupuestados\' as DatosDe,\n    \'2013.04.05\' as Fecha,\n    COUNT(*) AS Registraciones\nFROM\n    fzggestion.vidquoten2\n</pre>','utf-8'),(1223,'== Notes ==\n\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|-\n|850417886\n|FZG\n|FZG001\n|-\n|219838925\n|FZG\n|FZG002\n|-\n|707325105\n|FZG\n|FZG010\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1224,'Código SQL','utf-8'),(1225,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20121201====\n=====Problemas Conocidos=====\n*[[FORM:Presupuesto]]. Aleatoriamente no hace el cálculo o no lo refresca correctamente.\n*[[TKT:FZG.000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\n*[[TKT:FZG.000002]]. Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional. Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]. Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]]. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n*[[TKT:FZG.000011]]. En apariencia los algoritmos en Windows / Unix no otorgan los mismos resultados para el control de licencias.\n\n=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\n*[[FORM:Modulos]]. Cambio de diseño para incluir el [[FORM:Modulos.FormModulos.FormDetalleProducto.FormSubSet]] como control para el ingreso de ocurrencias de subconjuntos de lineas de control. Se crea la [[MACRO:ChangeFieldtxtSubSetTPFORMModulos]] para la validación del identificativo de Wide/Height del elemento.\n*[[TABLA:modulosdet]]. Cambio de esquema para albergar ocurrencias de Subconjuntos de \"lineas de control\" con el alta de la [[TABLA:modulossbs]].\n*[[VISTA:viscompcnt]]. Restylish de la vista\n*[[FORM:CopiaComposicion]]. Restylish, modificación de SubForm.\n*[[VISTA:productosdisp]]. Generación de vista de productos incluyendo los generados a partir de [[TABLA:bocetos]]\n*[[TABLA:productos]]. Agregado de atributo CompoEdit para señalar si el producto es editable o no. Es automático y no debe estar permitida su modificación por parte del usuario. No se modifica el [[FORM:Productos]] en su layout pero si se agrega controles de completado automático.\n*[[TABLA:productos]]. Agregado de atributo ProductoOr para señalar el tipo de origen de la registración. No se modifica el [[FORM:Productos]]  en su layout pero si se agrega controles de completado automático.\n*[[TABLA:composicion]]. Agregado del atributo ComposicOBS para señalar una diferenciación del nombre del producto en los casos de códigos de elementos repetidos y de diferente conformación en los parámetros de la composicion.\n*[[BTCR:20130322]].[[FORM:ComposicionMasivoPorProducto]]. Agregado de la captura del atributo ComposicOBS. \n*[[BTCR:20130322]].[[FORM:Presupuesto]]. Agregado de la captura del atributo ComposicOBS. \n*[[BTCR:20130417]].[[FORM:Productos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130417]].[[FORM:Modulos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130417]].[[FORM:Bocetos]]: Restauración desde [[NV20130107]]\n\n====Release 20121030====\n=====Problemas Conocidos=====\n*Aleatoriamente no elimina registros y cuando se visualiza o refresca la tabla, hace shutdown de la sesión\n=====Correcciones y Agregados=====\n* [[MACRO:AprobacionPresupuesto]]. Corrección. Se modifica la acción posterior de redespliegue de subformularios eliminando las instrucciones anteriores y sumando la rutina [[MACRO:ControlFormPresupuesto]]\n====Release 20121029====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n* [[TABLA:vidquoten1]]. Corrección. Se agregan los controles de NOTNULL a los atributos de Cliente y de Agente Comercial.\n* [[FORM:Presupuesto]]. Corrección. Por diferencias aparentes en las versiones de la DB vs. ODBC se cambia el DataSource de [[FORM:Presupuesto.DataCliente]] para que lo haga sobre la [[TABLA:contactos]] y no sobre la [[VISTA:clientes]].\n* [[FORM:Presupuesto]]. Corrección. Se agregan los controles de límites para los atributos de Ancho y Alto dentro de [[FORM:Presupuestos.Productos]].\n**El esquema funciona haciendo un llamado básicamente a la rutina indicada en [[MACRO:CheckValidMeasure]] ante los eventos de ItemChange de ambas columnas.\n**Se modifica el esquema de [[MACRO:EventoBRCDetallePresupuesto]] que gestionaba a la fecha escencialmente el alta de registros en [[TABLA:viquoten3]] transfiriendo esa ejecución del alta a traves de [[MACRO:AltaProductoPresupuesto]] que se ejecuta en [[MACRO:EventoARADetallePresupuesto]] con los parámetros de acción provenientes de [[MACRO:EventoBRADetallePresupuesto]]. Es precisamente la [[MACRO:EventoARADetallePresupuesto]], donde efectua el chequeo [[MACRO:CheckValidMeasure]], que siendo declarada como función, retorna el valor del chequeo para que se mantenga dentro del mismo control en el caso de error.\n**Esta modificación general permite que el refresco del Control correspondiente al Subtotal lo haga aún si presiona el ícono de grabar sin efectuar el \"gesture\" natural de la secuencia de ingreso de datos (presionar [Enter]) del registro en el [[FORM:Presupuesto.Productos.ProductosGrid]].\n\n====Release 20121024====\n=====Correcciones y Agregados=====\n* [[FORM:PosicionCRM]]. Corrección de Data Source.\n* [[RPRT:IndividualCRM]]. Corrección de Data Source y MakeUp Fecha Detalle\n* [[FORM:ConsultaClienteCRM]]. Corrección de Data Source de [[FORM:ConsultaClienteCRM.MainForm.SFSaldo]]\n* [[TABLA:magnitudes]]. Agregado de tabla\n====Release 20121005====\n=====Problemas Conocidos=====\n* [[FORM:PosicionCRM]]. Existen diferencias en los origenes de datos por lo que muestra diferentes resultados de [[FORM:ConsultaClientesCRM]]\n=====Correcciones y Agregados=====\n* [[PROC:AltaItemPresupuestoTmp]]. Corrección. Error en el procedimiento. El error radicaba en que la condición de los registros existentes dentro de la [[TABLA:vidquoten3tmp]] para evitar el agregado de esos mismos registro por parte del procedimiento desde la [[TABLA:componentes]]. Los valores que existían eran las constantes utilizadas para las pruebas. Se procede al reemplazo por parte de los parámetros provenientes de la función que llama al procedimiento. Se agrega además un parche para asignar el atributo ElementoPM para aquellos Elementos que no han arrastrado previamente por algún motivo este elemento al momento de grabar.\n* [[VISTA:proveedores]]. Cambio de formato del tag\n* [[PROC:CalculoPrecio]]. Agregado de los cálculos correspondientes a las nuevas magnitudes ALto y ANcho.\n* [[FORM:Presupuesto]]. Corrección. Ordenamiento del vector de ProductosDSC.\n* [[FORM:Presupuesto]]. Agregado. Se agrega la opción dentro del ListBox correspondiente a ProductosDSC de \"Selección de Filtro\". Lanza la [[MACRO:ControlLista]] y recupera el valor anterior con [[MACRO:ResetFiltroProductoFORMPresupuesto]].\n* [[FORM:Presupuesto]]. Corrección. Se agrega la función para afectar las eliminaciones de productos.\n* [[FORM:Presupuesto]]. Corrección. Se elimina el tabstop del campo de aprobado.\n* [[FORM:Aux000002]]. Corrección. Se cambia la Property de Add record.\n* [[MACRO:SugerenciaContactoID]]. Se agrega la distinción para que pueda ser leido correctamente desde [[FORM:Aux000002]].\n* [[FORM:Presupuesto]]. Se elimina la visualización del boton de prueba en la zona de Composicion.\n* [[FORM:Presupuesto]]. Se agrega valor por defecto en [[CTRL:Presupuesto.txtVidQuoteACom]]\n* [[FORM:Presupuesto]]. Se agrega la visualización del FORM:ComponentesDisplay desde [[MACRO:EventoWhenLoadingFormCabecera]]\n====Release 20120912====\n=====Problemas Conocidos=====\n* [[FORM:Presupuesto]]. La ayuda específica de ingreso de la descripción de producto no funciona.\n* [[FORM:PosicionCRM]]. El reporte [[RPRT:IndividualCRM]] muestra problemas aleatorios en la última columna (despliega aleatoriamente decimales).\n=====Correcciones y Agregados=====\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataCliente para evitar repetir la consulta de los datos del cliente (descripción, coeficientes agregados, etc.)\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataAgente para evitar repetir la consulta ya que se agrega la modalidad de aplicar el coeficiente que tiene el agente comercial adicional al del cliente y a los definidos en el módulo de precios.\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\n* [[VISTA:acomerciales]]. Se cambia el nombre del ID principal por AComercialID y se agregan los datos de Coeficiente que proviene de la [[TABLA:contactos]].\n* [[TABLA:contactos]]. Se agrega un atributo que puede representar la fotografía o logo de la empresa contacto.\n* [[PROC:AltaItemPresupuesto]]. Correcciones y Test.\n* [[PROC:ActualizaItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Actualiza_Item_Presupuesto]]. Creación en el evento SQL BEFORE UPDATE sobre [[TABLA:vidquoten2]] para reemplazar la ejecución del proceso de actualización en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\n* [[PROC:CopiaPresupuesto]]. Reactivación a razón del rediseño [[FORM:Presupuesto]].\n* [[FORM:Presupuesto]]. Inclusion del ordenamiento por el atributo VidQuoteID dentro de [[TABLA:vidquoten1]]\n\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:PresupuestoV1.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****[[MACRO:EventoBRADetallePresupuesto]]\n*****Sin Cambios\n****[[MACRO:EventoBRCDetallePresupuesto]]\n****[[MACRO:BotonActualizarPresupuesto]]\n*****Adaptación al nuevo [[PROC:ActualizaPreciosPresupuesto]]\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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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'),(1226,'Gestión Retail Industria\n\n== Spanex Gestion ==\nSpanex es una aplicación orientada a satisfacer la demanda de soporte a la gestión de productos y servicios de terminación del mercado de la construcción civil. Esta gestión toma forma de una serie de módulos que articulan los diferentes procesos de gestión administrativa y los concernientes a los propios de producción.\n\nBasado y diseñado en herramientas de código abierto, la aplicación desde su concepción, tiene el claro objetivo que la misma un engranaje eficiente en la cadena de maximización del retorno de la inversión.\n\nConsta de módulos que permiten desde la definición de componentes de productos y servicios hasta el control de la producción de los mismos.\nA la fecha se encuentra en funcionamiento las funciones de negocio:\n*Presupuestación (Quoting)\n*Seguimiento de Pagos sobre Documentos\n*Gestión de estructuras básicas de información\n\n=== Gestión de Presupuestos (Quoting) ===\n\nEs el conjunto de procesos, formularios e informes que permite realizar un control integral del proceso de presupuestación del negocio. De amplio espectro, permite administrar los siguientes grupos de información:\n\n*Productos\n**Precios\n**Composicion de Productos\n**Gestión de Módulos\n**Gestión de Bocetos\n*Contactos\n*Valores\n\nLa versión actual no incluye la gestión gráfica del armado de los elementos, sin que esto sea un impedimento para poder generar productos comercializables.\n\n==== Gestión de Productos ====\nSe establece como Producto a todo elemento comercializable por la empresa. El conjunto de Productos se representan como registraciones y comparten atributos tales como:\n*Código de Producto\n*Codigo de Producto Genérico\n*Descripción\n*Código de Proveedor\n*Código de Categoría\n*Magnitud\n*Magnitud de Inicio\n*Producto con/sin Apertura\n*Coeficiente a aplicar al precio de costo para tipo de cliente 1\n*Coeficiente a aplicar al precio de costo para tipo de cliente 2\n*Coeficiente a aplicar al precio de costo para tipo de cliente 3\n*Tamaño de origen (Ancho-Largo, Alto, Profundidad)\n*etc.\nEsto significa que dentro de este conjunto de datos se pueden incluir tanto elementos tangibles como intangibles (servicios).\n\nEl ingreso de información de este conjunto de datos se produce a la hora de definir los produtos comercializables, como se obtienen, cual será la política comercial sobre los diferentes tipos de clientes, y se realiza a través del [[FORM:Productos]]. Si bien existen otras modalidades de ingreso automático (desde el proceso conceptual de Productos-Modulos-Bocetos-Productos) la principal vía de ingreso de información es a través del mencionado formulario.\n\nEste conjunto de Productos se enlazan en forma directa a través de alguno de los atributos mencionados con otros conjuntos de datos para completar el universo de información necesario para la óptima gestión del negocio. En forma directa, se relaciona con los siguientes conjuntos de datos:\n*Composicion\n*Precios\nAl tiempo del ingreso de la información de producto, y a efectos de mantener la integridad de las estructuras de información, una vez finalizado el ingreso de la información de ese producto, al almacenarse, también genera en forma automática registraciones dentro de las estructuras de precios y de composición, con los valores de precios en 0 y un registro de composición con los valores de coeficientes asociados en 0\n\nEs importante diferenciar los coeficientes indicados dentro de la estructura de producto de los indicados dentro de la estructura de composición. Dada la facilidad de integración de \"productos\" o \"kits\" con diferentes \"componentes\" o \"elementos\", un elemento dentro de un producto puede tener valores diferentes a el mismo elemento aplicado para otro producto. En el caso de productos como las aberturas, probablemente las dimensiones reales de los interiores de una ventana sean diferentes a las de otro modelo de ventana aunque estas ventanas en si tengan la misma dimensión. En el caso que se desee precisión de costos, estos coeficientes y valores serán de suma importancia.\n\nPara profundizar en los conceptos, se detallan a continuación algunos subesquemas que son de importancia dentro de la aplicación.\n\n===== Gestión de Productos =====\nEn la gestión de productos se engloban una serie de procesos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí se han definido en forma individual (obviamente interrelacionadas entre si) varias entidades a saber:\n\nNota: a lo largo de esta ayuda, se podrán observar algunos gráficos conceptuales que tienen como algunas figuras que significan\n\n[[Archivo:FZG.DOCS.Procesos.Ayuda.jpg|center|Vista Conceptual del Proceso]]\n\nDenominamos productos a todos los Productos Terminados y/o Materias Primas que lo componen. Dentro de esta estructura de información incluye la información referida a las magnitudes de control del producto y los coeficientes de precios a aplicar sobre precios de costo del producto para la venta y la imagen del producto, en el caso que exista\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\nSe observará más adelante que el concepto de producto es amplio y que incluye subproductos, parámetros de subproductos, precios, composiciones diferenciadas y otros elementos que permiten tener un mantener un portfolio de productos muy variada. Para esto se subdivide los productos en:\n\n*Productos PPD: (Propiamente Dicho. A partir de aquí, \"Productos\"\n*Precios: Precios de los productos\n*Composiciones: Conformación de conjuntos de productos o elementos para conformar otros productos comercializables. Se incluyen aquellos aspectos de control de forma, y categoría de producto. Es necesario aclarar que dada la versatilidad de la aplicación, puede incluirse dentro de un producto compuesto, otros subproductos o elementos tales como Mano de Obra, Colocación, Transporte, etc.\n===== Módulos / Bocetos =====\nDentro de las facilidades de gestión de productos, existe una en particular que ayuda notablemente a la presupuestación que es el tandem Módulos / Bocetos.\nSe define como Módulo al conjunto de productos que se agrupan para representar un tipo genérico de plano de un proyecto u obra, mientras que un Boceto es un módulo predefinido, permitiendo de esta manera mantener esquemas de \"Modelos de Productos\", como por ejemplo \"Conjunto Erica o Modelo Barcelona\".\nEste último se convierte en boceto para circunscribir lo más posible la posibilidad de error y permitir la delegación de tareas administrativas a agentes con menores competencias de diseño. En el caso de establecer un Boceto, ese boceto puede sufrir modificaciones de dimensiones pero no de otros elementos, ya que eso modificaría el \"modelo\" definido. En el caso de ser necesario se genera un nuevo Boceto con otra denominación.\nLa tarea entonces para quienes se le haya delegado esta tarea, solo será basarse en un Boceto o Modelo y modificar las dimensiones de acuerdo al proyecto en ciernes.\nChequeados las dimensiones definidas de acuerdo al las \"reglas\" definidas en el Módulo-Boceto, se generará un Producto único para ese proyecto con las definiciones establecidas dentro del proceso Boceto -> Producto.\nEstá claro que la mayor disponibilidad de facilidades se encuentra en la generación de un Módulo, que se deberá realizar sobre medidas estándar, con paneles ordenados y medidas estándar definidas y los elementos estándar que lo conforman.\nLos procesos brindados para los Módulos son:\n*Control de Medidas\n*Copia a Boceto\n*Copia a otro Módulo\n\n====== Control de Medidas ======\nEs importante señalar que quizás este sea el punto más álgido en la definición de los Módulos.\nSe define como \"Linea de Control\" a aquella línea virtual trazada en forma horizontal o vertical que enlaza en forma perpendicular a los diferentes elementos que conforman el módulo. Estas Líneas de Control se diferencias entre si identificándolas con la \"Orientación\" (Horizontal = W, Vertical = H) y un número distintivo.\nPueden existir la cantidad de Lineas de Control que se deseen ya que sirven para acotar los errores en la posterior confección presupuestaria.\nUn ejemplo concreto es cuando se quiere realizar un producto que consista en 5 paneles de algún material, unidos entre si. En este caso, la aplicación brinda la posibilidad de mantener la integridad del producto en el caso que se modifiquen las dimensiones de cualquiera de las dimensiones:\n\n\n\n\nUn boceto es un conjunto de productos que se agrupan para representar un plano de un proyecto / obra con la información cierta, es decir, vano definido y cada uno de los paneles ordenados y con su medida ya definida. Este elemento deriva principalmente de la definición de un módulo, que es un conjunto de productos que se agrupan para representar un tipo genérico de plano de un proyecto / obra. Esta distinción es clave:\n* Boceto: Conjunto de productos con medidas establecidas y con posibilidad de modificarlas hasta proceso de traspaso entre Boceto y Producto.\n* Módulo: Conjunto de productos con medidas libres pero acordes a la definición de un vano estándar. No es necesario modificar estos valores a menos que se requiera generar un nuevo módulo para ser base a otros bocetos. El siguiente gráfico simplifica la visualización del proceso:\n\n[[Archivo:FZG.DOCS.Proceso.Modulo.to.Producto.png|center|Vista Conceptual del Proceso]]\n\n===== Conceptos Asociados =====\n[[CONCEPTO:Magnitud|Magnitudes]]\n\n==== Precios ====\nSe refiere a la lista de precios. \nDebe existir una registración de precios por cada producto activo. Si el ingreso del producto se realiza dentro de los procesos normales, esta registración debiera existir.\nPor cada registración existen, a la fecha, 4 tipos de precios diferentes. Normalmente, El precio \"0\" está indicado como Precio de Costo\". El resto (3 definidos en el release 20120328) puede ser aplicado a discreción del usuario. Nuestra sugerencia es dividir la política comercial en 3 tipos de clientes. La asignación del tipo de cliente se realiza dentro del Mantenimiento de Contactos.\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\n\nLos valores de cada uno de los precios por Tipo de Cliente pueden automatizarse a través de los coeficientes de Precios establecidos dentro del esquema de datos de Producto.\n\nExisten a la fecha 5 procesos que afectan directamente este concepto:\n\n*Cambio Masivo: Aplica un coeficiente de actualización a todos los tipos de precios de acuerdo a un filtro de producto dado.\n*Masivo Coeficientes Actualización: Permite modificar los coeficientes de actualización de acuerdo al \"Precio 0\" en forma masiva de acuerdo a un filtro de producto dado.\n*Precios General: Permite modificar los valores de precios (no coeficientes) por producto individual.\n*Precios Tabular Normal: Permite modificar los valores de precios por producto en un formato tabular.\n*Precios Tabular por Proceso: Permite modificar los valores de precios por conjunto de productos, aplicando en forma selectiva el coeficiente a utilizar.\n\n==== Composición ====\nEsta estructura de información alberga una matriz de Producto-Elemento/Componente de Producto. Esta esquema permite definir los elementos componentes de un producto sean estos básicos (necesarios) o optativos.\n\n[[Archivo:FZG.DOCS.Procesos.Composicion.jpg|center|Vista Conceptual del Proceso]]\n\nUn simple ejemplo de esta definición es el siguiente:\n\n[[Archivo:FZG.DOCS.Componentes.Schema.png|center|Ejemplo Esquema Componentes]]\n\nEn el ejemplo precedente, observamos una abertura con sus componentes y con la posibilidad de definir entre 2 opciones con que tipo de interior se podrá presupuestar.\n\nEste esquema permite mantener variable la definición de productos de acuerdo a los precios individuales de cada elemento.\n\nDebido a que de este esquema partirá el cálculo de los precios, por defecto, al ingresar un nuevo producto, en forma automática se agregará un registro de componente (mínimo) con los datos del Elemento igual al Producto. Esto no debe modificarse a menos que quiera establecer un producto compuesto, en cuyo caso, solo será necesario contar con un producto básico.\n\n==== Proveedores ====\nSe refiere a los códigos de proveedores. Inicialmente se utiliza para diferencias los productos de acuerdo a su procedencia y para facilitar el proceso de cambio de precios, siendo estos códigos los atributos de diferenciación entre materias primas similares.\n\n=== Presupuestos ===\n----\nEste módulo permite gestionar presupuestaciones para clientes de forma amena y precisa, dependiendo su amplia flexibilidad de cuales hayan sido los datos ingresados en la conformación de los productos.\n\nEs posible \n\n\n==== Presupuestos ====\n\nEste proceso permite la gestión de propuestas de venta para todo tipo de clientes. Cuenta con un diseño que permite una visualización integral de los productos y procesos que intervienen en la conformación de esta propuesta de venta. Las acciones posibles dentro de este proceso son:\n\n*Propuestas\n**Alta\n***Propuestas de Ventas\n***Rápida de Clientes\n**Modificación\n***Productos\n***Cantidades\n***Dimensiones\n***Inclusiones\n***Actualización de Precios\n**Consulta\n***Consulta Registro secuencial\n***Consulta por Filtros\n**Activación\n**Impresión\n**Envío por circuito de correo electrónico\n**Copia de Presupuestos\n\n===== Características =====\n====== Diseño ======\nLa pantalla de presentación de este proceso presenta las siguientes elementos:\n\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n** \'\'\'Datos de Cliente\'\'\': Es la información del contacto \"Cliente\" seleccionado que impacta en forma directa sobre la cotización de los productos dentro de la propuesta\n* \'\'\'Productos\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Composición\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n** \'\'\'Detalle Composición\'\'\': Es la información de los elementos componentes de cada producto presupuestado que impactan en forma directa sobre la cotización de ese elemento dentro del producto seleccionado dentro de la propuesta.\n\n[[Archivo:FZG.DOCS.Procesos.Presupuesto.jpg|center|Vista Conceptual del Proceso]]\n\n\'\'\'Cabecera\'\'\': Se destaca la inclusión de los datos del cliente y la asignación de un agente de venta del presupuesto. Es importante la definición de los datos del cliente ingresado dado que dependiendo de la tipificación del mismo varariá en forma directa los precios a aplicar en los presupuestos. Últimamente, se a agregado la información de Agente Comercial que corresponde a quién es responsable del presupuesto y gestor del cumplimiento del ingreso de toda la información necesaria tanto para el cálculo presupuestario sino también para su posterior fabricación en caso de ser aprobado.\n\n[[Archivo:FZG.DOCS.Pantalla.Presupuesto.jpg|center|Vista Conceptual del Proceso]]\n\n\'\'\'Detalle Presupuesto\'\'\': Se detallan los datos mínimos de Productos necesarios para la confección del presupuesto. Estos datos son: Cantidad, Producto (Código y/o Descripción), Ancho/Largo y finalmente Alto. Para los casos de productos definidos con Magnitud igual a Unidad (UN), solo tomará la información indicada en el campo de Cantidad.\n\nAl tiempo del ingreso de la información de Productos, en forma automática se completará la sección de \'\'\'Detalle Producto\'\'\'. Esta sección es la que permitirá agregar los adicionales definidos en su oportunidad para completar el producto mencionado. Cabe aclarar, que solo se podrán agregar o eliminar lo elementos del Detalle de Producto que no formen parte del [[Esquema Básico de un Producto]]. A su vez, si los Elementos de los Productos ingresados tuviesen Parámetros adicionales a especificar, se agregarán en forma automática dentro de la 4º sección del formulario.\n\nDentro del detalle del producto se observan los siguientes datos:\n* Elemento: Código del elemento que forma parte del Producto\n* Descripción Elemento: Descripción del elemento que forma parte del Producto\n* Precio Unitario: Precio por Unidad de Magnitud del Producto de acuerdo a las condiciones del presupuesto (Tipo de Cliente, magnitud especificada, etc.)\n* Precio: Precio del Elemento de acuerdo a las condiciones del presupuesto y las cantidades especificadas.\n* Detalle: Indicador para incluir la Descripción del Elemento dentro de la Descripción impresa del Presupuesto al Cliente.\n\nEsta sección del formulario presenta las siguientes características:\n* Es indistinto el ingreso por Código de Elemento o por la Descripción del mismo.\n* Los campos de Código de Elemento y Descripción del Elemento poseen un botón de ayuda contextual. Solo se desplegarán los valores tanto de Código de Elemento como de Descripción de Elemento indicados dentro de la Composición de Producto.\n\nAdemás, como se mencionó anteriormente, existe una 4º Sección de \'\'\'Parámetros Adicionales\'\'\' que pueden afectar a un Presupuesto. En este caso, se detallan los valores distintos a las medidas generales que afectan al presupuesto y su posterior diseño o colocación.\nEn esta sección pueden incluirse cualquier valor y depende de lo ingresado dentro de la tabla de [[Valores Adicionales de Productos]] (Ver [[Mantenimiento de Datos Auxiliares]])\n\nLas características definidas de este formulario son las siguientes:\n* El esquema de información posee 4 grupos de datos ya comentados.\n* Los grupos de datos son independientes excepto al tiempo de ejecución de este mismo formulario y en las acciones de ingreso de información de cada grupo.\n** El alta de un Producto en el Detalle Presupuesto presupone el ingreso en forma automática de al menos una registración en el Detalle Producto.\n** El alta de un Producto se referencia a el Producto en si y su composición si la misma tiene más de un Elemento asociado.\n\n==== Presupuesto: Aprobación ====\nA los efectos futuros de gestión de fábrica y de cobranzas, cada elemento aprobado no podrá ser modificado.\n\n==== Presupuesto: Aprobados ====\nConsulta de Presupuestos Aprobados a la fecha.\n\n=== Gestión de Valores ===\n----\nUna de las características de la aplicación es que puede hacer un seguimiento de los valores afectados dentro del proceso de gestion de comercialización, sin que esto reemplaze las formas y comprobantes fiscales, siendo de exclusivo uso interno de la empresa.\n\nEsta gestión se divide en\n\n*Cheques\n*Pagos\n*Cobranzas\n\nTodos estos procesos sirven como \'\'hoja de trabajo\'\' para las registraciones legales y/o fiscales correspondientes y \'\'\'no es objetivo de la presente aplicación reemplazar las mismas\'\'\'.\n\n==== Cheques ====\nRepresenta la registración de cheques de terceros entregados en parte de pago. Los mismos son incorporados por medio del proceso de cobranza y pueden ser endosados en el proceso de Pagos.\n\nEste proceso solo es de consulta y sirve para tener control de los valores registrados y disponibles.\n\n==== Cobranzas ====\nRepresenta la registración de las cobranzas\n\n==== Pagos ====\nRepresenta la registración de las pagos de proveedores/gastos generales. Posee la característica de asociar formas de pago para un mejor control de los valores destinados a tal efecto.\nLos atributos definidos para esta registración son:\n*# de la Transaccion\n*Fecha de la Transaccion\n*Fecha Valor del Pago\n*Forma de Pago: En este caso, las formas habilitadas hasta el momento son las siguientes\n**CHT - Cheque de Terceros: Cheques de Terceros aptos para Endosar. \n**OPP - Orden de Pago Proveedores: Cheques propios o cualquier otro documento ejecutable a entregar\n**EFO - Efectivo Caja Chica\n*Proveedor / Razon Social\n*Tipo de Documento Origen: El documento que origina la obligación de pago\n**OC - Orden de Compra\n**FC - Factura\n*NºDocumento\n*Importe\n*Detalle: Permite el ingreso del detalle del pago o la factura para su clara identificación.\n*Imagen Documento Origen: Este proceso permite adosar la imagen del documento para su fácil visualización en caso de ser requerido\n\nEn la pantalla correspondiente, se despliegan 3 grandes bloques de información:\n*Filtro General: para la visualización de las registraciones de pago efectuadas\n*Pagos: para la visualiación en detalle de las registraciones de pago efectuadas\n*Documento Asociado: En esta ventana se desplegarán diferentes tipo de controles asociados a la forma de pago seleccionada o elegida para la registración de pago\nEn el caso de indicar como forma de pago el código \"CHT - Cheque de Terceros, a la derecha de la registración se desplegará la ventana de documentos asociado es en la que se emarcarán todos los cheques existentes disponibles para su endoso. Para seleccionar los mismos, pulse sobre la grilla de visualización de los documentos.\nEn el caso de indicar como forma de pago el código \"OPP - Orden de Pago Proveedores, a la derecha de la registración se desplegará la ventana con la posibilidad de inscribir el documento emitido.\nEn el caso de indicar como forma de pago el código \"EFO\" se no se habilitará la ventana de Documento asociado, solo quedando habilitados los atributos arriba indicados.\n\n== Generalidades ==\n\nEsta versión de la aplicación se encuentra desarrollada bajo un ambiente propicio para la gestión de tareas generales de oficina. Este esquema permite gestionar la información en forma clara y sencilla mientras se tenga conocimiento de la estructura de información de la aplicación.\n\nComo ya se encuentra indicado, la gestión de datos se encuentra basada en la definición de formularios que permiten en general el ingreso y mantenimiento de la información volcada dentro de la base de datos de la aplicación.\n\nMuchos de los formularios ya tienen incorporada dentro del mismo una facilidad de filtro simple, que atañe a los Productos, Categoría o Proveedor de los mismos, pero también es posible realizar búsquedas de mayor precisión con el entorno donde se ha desarrollado la aplicación\n\nEstos formularios, en su gran mayoría a menos que se especifique lo contrario, permiten gestionar el ingreso modificación y eliminación de documentos o registraciones ingresadas en la aplicación.\n\nEl otro elemento que es posible ejecutar dentro de los formularios es la de consulta y consulta parcial. Para esto último en necesario indicar cuales van a ser los atributos por los cuales esos datos van a estar desplegados. A nivel del usuario, la definición de la consulta parcial consiste en presentar el mismo formulario pero en blanco para poder indicar, campo por campo cuales van a ser los datos que servirá de atributo de selección de la visualización.\n\nPara el caso particular de los campos de texto que desconozcamos parte del criterio, el mismo puede ser reemplazado por la siguiente sintaxis:\n<small><pre>\nLIKE %<cadena de caracteres que respondan a la búsqueda>%\n</pre></small>\n\nComo se indica en el párrafo anterior, es imprescindible anteponer el prefijo \"LIKE\" antes a la cadena de caracteres. Se observa también que a ambos lados de la cadena de caracteres se sitúa el signo de porcentaje (%). Este signo tiene la función de comodín. Las siguientes cadenas sirven de ejemplo:\n<small><pre>\nLIKE Ventana%\n</pre></small>\nIndicará que ese criterio de búsqueda será para todos los elementos que comiencen con la palabra \"Ventana\".\n<small><pre>\nLIKE %Vidrio%\n</pre></small>\nIndicará que ese criterio de búsqueda será para todos los elementos que tengan en cualquier posición dentro del campo seleccionado la palabra \"Ventana\".\n\n== Referencia Rápida ==\n===Productos===\n====¿Que sucede cuando se ingresa un nuevo Producto?====\nEl ingreso de un nuevo Producto se utiliza cada vez que exista un producto o elemento componente de un producto para indicar los elementos mínimos de identificación de ese Producto o \"Materia Prima\" (denominado \"Elemento\"). Además, en forma automática se generan registraciones tanto en las tablas de Precios como en la de Composición, marcando en esta última el atributo de Elemento Primario para asociarlo en el caso que se coloque como elemento único dentro de una presupuestación.\n===Composicion===\n===Modulos===\n====¿Que es un Módulo?====\nEs un conjunto de productos o elementos que componen un módulo o modelo de producto. Generalmente se aplica para productos o partes de un proyecto de construcción.\n====¿Quién genera un nuevo módulo?====\nEl usuario con capacidades de diseño de productos.\n\n===Bocetos===\n====¿Que es un Boceto?====\nUn Boceto es un Módulo al que se le pueden aplicar modificaciones que respondan a un proyecto determinado. Estas modificaciones están restringidas de acuerdo a lo definido dentro del módulo.\n====¿Quién puede crear un boceto?====\nGeneralmente los bocetos se preparan a partir de nuevos proyectos definidos. Sería necesario el acceso a los procesos de Modulos para generarlo y luego si puede ser modificado de acuerdo a las restricciones definidas dentro de esos mismos procesos.\n====¿Que operaciones puedo hacer sobre un boceto?====\nExisten algunas restricciones a tener en cuenta cuando se confecciona un boceto:\n*Si bien un boceto puede generarse a partir de un módulo, una vez que a partir del boceto se genera un Producto, el boceto queda bloqueado (no puede modificarse ni eliminarse) y tiene una relación unívoca con el producto.\n*Mientras que el boceto no haya generado un producto nuevo, el mismo puede ser modificado.\n*El boceto puede copiarse en otro boceto\n*El boceto puede ser chequeado en su composición en relación a las dimensiones del vano a través de su definición dentro del módulo (correspondencia de subconjuntos de elementos.\n\n===Precios===\n===Contactos===\n====¿A que se refiere el Mantenimiento de Contactos?====\nLa aplicación define como Contacto a toda persona física o jurídica que tenga relevancia dentro del proceso. Esto significa que tanto los Clientes, Proveedores, Agentes Comerciales y otras personas, deben figurar dentro de esta Entidad. La diferenciación de cada uno de ellos se encuentra en la asignación las diferentes categorías desplegadas en el formulario correspondiente.\n\n===Presupuestos===\n====¿Que sucede cuando elimino un presupuesto?====\nSe eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n====¿Que sucede cuando elimino un producto de un presupuesto?====\nSe eliminan todas las registraciones asociadas (de elementos componentes de ese producto en ese presupuesto, que pueden variar en cada presupuesto).\n====¿Que sucede cuando modifico las dimensiones de un producto en un presupuesto?====\nSe actualizan los precios en ese presupuesto con la última lista de precios vigente de todos los elementos asociados a las magnitudes del producto modificado.\n====¿Que sucede cuando modifico las cantidades de un producto en un presupuesto?====\nDe la misma manera cuando se modifican las magnitudes, se actualizan los precios en ese presupuesto con la última lista de precios vigente de todos los elementos asociados a las magnitudes del producto modificado.\n====¿Que sucede cuando modifico un producto (Código de Producto o Descripción indistintamente)?====\nSe procede a eliminar las registraciones existentes del producto modificado y se agregan los elementos asociados a ese producto con el precio actualizado de acuerdo a la lista de precios vigente.\n====¿Se puede recuperar un presupuesto eliminado?====\nNo. En el caso que se haya pulsado por error la tecla de eliminación, existe una pregunta de seguridad antes de eliminar físicamente la registración del presupuesto.\n====¿Que sucede cuando ingreso un producto en un presupuesto?====\nLa aplicación automáticamente ingresa como elementos básicos aquellos que hayan sido señalados como básicos dentro del esquema de Composición de Producto. Si el Producto tiene otros elementos asociados pero no están definidos como básicos, es posible ingresarlos debajo de los básicos. En este caso en particular, solo estará permitido ingresar aquellos productos asociados en la composición previa y no otros Productos/Elementos.\n====¿Que significa Aprobar un Presupuesto?====\nEs el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n====¿Porque no puedo enviar por correo electrónico un presupuesto?====\nProbablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n\n===Valores===\n\n== Glosario ==\n{|\n! Concepto\n! Definición\n|-\n|\'\'Formularios\'\'\n|Los formularios ofrecen un método o rutina para el ingreso controlado de datos. En si, un formulario consiste en un conjunto de elementos o controles que mantiene un dato.\n|-\n| \'\'Base de Datos\'\'\n| Conjunto de componentes de información. Puede contener estructuras de datos como así también rutinas y funciones asociadas a las estructuras de datos\n|-\n| \'\'Tabla\'\'\n| Conjunto de datos referentes una entidad de información. Puede ser representada como una planilla de 2 dimensiones con registraciones y atributos comunes de esa entidad de información.\n|-\n| \'\'Entidad\'\'\n| Conjunto de datos referentes que conforman una unidad cuyos atributos la diferencian de otras unidades registrales. La conformación de una entidad se puede dar basada en solo una tabla o un conjunto de ellas.\n|-\n|}','utf-8'),(1227,'[[Category:VISTAS]]\n== Descripción ==\nLista los valores calculados de los subconjuntos de dimensiones definidos dentro de un módulo para corroborar el correcto dimensionamiento de un módulo.\n\nToma las registraciones de la [[TABLA:modulossbs]] y las agrupa sumarizando los valores indicados dentro de SubSetTP (Tipo) y SubSetNO (Número de línea) que representan los valores originales de dimensionamiento interno.\n\n== Composición ==\n*[[TABLA:modulossbs]]\n*[[TABLA:modulosdet]]\n*[[TABLA:moduloscab]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW vischeckmod AS\nSELECT \n    `modulossbs`.`ModuloID`,\n    `modulossbs`.`ProductoID`,\n    `modulossbs`.`ComposicID`,\n    `modulossbs`.`SubSetTP`,\n    `modulossbs`.`SubSetNO`,\n    IF(`modulossbs`.`SubSetTP` = \'W\',\n        SUM(`modulosdet`.`AnchoPredef`),\n        SUM(`modulosdet`.`AltoPredef`)) AS LineaDim,\n    IF(`modulossbs`.`SubSetTP` = \'W\',\n        `moduloscab`.`ModuloVW`,\n        `moduloscab`.`ModuloVH`) AS ModuloDim\nFROM\n    `fzggestion`.`modulosdet` AS `modulosdet`,\n    `fzggestion`.`modulossbs` AS `modulossbs`,\n    `fzggestion`.`moduloscab` AS `moduloscab`\nWHERE\n    `modulosdet`.`ModuloID` = `modulossbs`.`ModuloID`\n        AND `modulosdet`.`ProductoID` = `modulossbs`.`ProductoID`\n        AND `modulosdet`.`ComposicID` = `modulossbs`.`ComposicID`\n        AND `moduloscab`.`ModuloID` = `modulosdet`.`ModuloID`\nGROUP BY `modulossbs`.`SubSetTP` , `modulossbs`.`SubSetNO`\n</pre>\n\n== Bitácora ==\n*20121127\n**Alta Vista\n*2012121\n**Debido al cambio de estructura de Módulos para poder albergar varias definiciones de lineas de control por producto, se cambia completamente el esquema\n*20130419\n**Agregado de atributo EstadoOk que representa el estado de la Línea de Control seleccionada\n\n== Uso ==\n== URL ==','utf-8'),(1228,'[[Category:VISTAS]]\n== Descripción ==\nLista los valores calculados de los subconjuntos de dimensiones definidos dentro de un módulo para corroborar el correcto dimensionamiento de un módulo.\n\nToma las registraciones de la [[TABLA:modulossbs]] y las agrupa sumarizando los valores indicados dentro de SubSetTP (Tipo) y SubSetNO (Número de línea) que representan los valores originales de dimensionamiento interno.\n\n== Composición ==\n*[[TABLA:modulossbs]]\n*[[TABLA:modulosdet]]\n*[[TABLA:moduloscab]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `vischeckmod` AS\n	SELECT \n		`modulossbs`.`ModuloID` AS `ModuloID`,\n		`modulossbs`.`ProductoID` AS `ProductoID`,\n		`modulossbs`.`ComposicID` AS `ComposicID`,\n		`modulossbs`.`SubSetTP` AS `SubSetTP`,\n		`modulossbs`.`SubSetNO` AS `SubSetNO`,\n		IF((`modulossbs`.`SubSetTP` = \'W\'),\n			SUM(`modulosdet`.`AnchoPredef`),\n			SUM(`modulosdet`.`AltoPredef`)) AS `LineaDim`,\n		IF((`modulossbs`.`SubSetTP` = \'W\'),\n			`moduloscab`.`ModuloVW`,\n			`moduloscab`.`ModuloVH`) AS `ModuloDim`,\n		(IF((`modulossbs`.`SubSetTP` = \'W\'),\n			SUM(`modulosdet`.`AnchoPredef`),\n			SUM(`modulosdet`.`AltoPredef`))) = (IF((`modulossbs`.`SubSetTP` = \'W\'),\n			`moduloscab`.`ModuloVW`,\n			`moduloscab`.`ModuloVH`)) AS EstadoOK\n	FROM ((`modulosdet`\n		   JOIN `modulossbs`)\n		  JOIN `moduloscab`)\n	WHERE ((`modulosdet`.`ModuloID` = `modulossbs`.`ModuloID`)\n		   AND (`modulosdet`.`ProductoID` = `modulossbs`.`ProductoID`)\n		   AND (`modulosdet`.`ComposicID` = `modulossbs`.`ComposicID`)\n		   AND (`moduloscab`.`ModuloID` = `modulosdet`.`ModuloID`))\n	GROUP BY `modulossbs`.`SubSetTP` ,\n			 `modulossbs`.`SubSetNO`\n</pre>\n\n== Bitácora ==\n*20121127\n**Alta Vista\n*2012121\n**Debido al cambio de estructura de Módulos para poder albergar varias definiciones de lineas de control por producto, se cambia completamente el esquema\n*20130419\n**Agregado de atributo EstadoOk que representa el estado de la Línea de Control seleccionada\n\n== Uso ==\n== URL ==','utf-8'),(1229,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20121201====\n=====Problemas Conocidos=====\n*[[FORM:Presupuesto]]. Aleatoriamente no hace el cálculo o no lo refresca correctamente.\n*[[TKT:FZG.000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\n*[[TKT:FZG.000002]]. Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional. Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]. Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]]. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n*[[TKT:FZG.000011]]. En apariencia los algoritmos en Windows / Unix no otorgan los mismos resultados para el control de licencias.\n\n=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\n*[[FORM:Modulos]]. Cambio de diseño para incluir el [[FORM:Modulos.FormModulos.FormDetalleProducto.FormSubSet]] como control para el ingreso de ocurrencias de subconjuntos de lineas de control. Se crea la [[MACRO:ChangeFieldtxtSubSetTPFORMModulos]] para la validación del identificativo de Wide/Height del elemento.\n*[[TABLA:modulosdet]]. Cambio de esquema para albergar ocurrencias de Subconjuntos de \"lineas de control\" con el alta de la [[TABLA:modulossbs]].\n*[[VISTA:viscompcnt]]. Restylish de la vista\n*[[FORM:CopiaComposicion]]. Restylish, modificación de SubForm.\n*[[VISTA:productosdisp]]. Generación de vista de productos incluyendo los generados a partir de [[TABLA:bocetos]]\n*[[TABLA:productos]]. Agregado de atributo CompoEdit para señalar si el producto es editable o no. Es automático y no debe estar permitida su modificación por parte del usuario. No se modifica el [[FORM:Productos]] en su layout pero si se agrega controles de completado automático.\n*[[TABLA:productos]]. Agregado de atributo ProductoOr para señalar el tipo de origen de la registración. No se modifica el [[FORM:Productos]]  en su layout pero si se agrega controles de completado automático.\n*[[TABLA:composicion]]. Agregado del atributo ComposicOBS para señalar una diferenciación del nombre del producto en los casos de códigos de elementos repetidos y de diferente conformación en los parámetros de la composicion.\n*[[BTCR:20130322]].[[FORM:ComposicionMasivoPorProducto]]. Agregado de la captura del atributo ComposicOBS. \n*[[BTCR:20130322]].[[FORM:Presupuesto]]. Agregado de la captura del atributo ComposicOBS. \n*[[BTCR:20130417]].[[FORM:Productos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130417]].[[FORM:Modulos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130417]].[[FORM:Bocetos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130419]].[[FORM:Modulos x Lineas Control]]: Corrección en [[SUB:ControlLineaSemaphor]]\n*[[BTCR:20130419]].[[VISTA:vischeckmod]]: Agregado a la estructura.\n\n====Release 20121030====\n=====Problemas Conocidos=====\n*Aleatoriamente no elimina registros y cuando se visualiza o refresca la tabla, hace shutdown de la sesión\n=====Correcciones y Agregados=====\n* [[MACRO:AprobacionPresupuesto]]. Corrección. Se modifica la acción posterior de redespliegue de subformularios eliminando las instrucciones anteriores y sumando la rutina [[MACRO:ControlFormPresupuesto]]\n====Release 20121029====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n* [[TABLA:vidquoten1]]. Corrección. Se agregan los controles de NOTNULL a los atributos de Cliente y de Agente Comercial.\n* [[FORM:Presupuesto]]. Corrección. Por diferencias aparentes en las versiones de la DB vs. ODBC se cambia el DataSource de [[FORM:Presupuesto.DataCliente]] para que lo haga sobre la [[TABLA:contactos]] y no sobre la [[VISTA:clientes]].\n* [[FORM:Presupuesto]]. Corrección. Se agregan los controles de límites para los atributos de Ancho y Alto dentro de [[FORM:Presupuestos.Productos]].\n**El esquema funciona haciendo un llamado básicamente a la rutina indicada en [[MACRO:CheckValidMeasure]] ante los eventos de ItemChange de ambas columnas.\n**Se modifica el esquema de [[MACRO:EventoBRCDetallePresupuesto]] que gestionaba a la fecha escencialmente el alta de registros en [[TABLA:viquoten3]] transfiriendo esa ejecución del alta a traves de [[MACRO:AltaProductoPresupuesto]] que se ejecuta en [[MACRO:EventoARADetallePresupuesto]] con los parámetros de acción provenientes de [[MACRO:EventoBRADetallePresupuesto]]. Es precisamente la [[MACRO:EventoARADetallePresupuesto]], donde efectua el chequeo [[MACRO:CheckValidMeasure]], que siendo declarada como función, retorna el valor del chequeo para que se mantenga dentro del mismo control en el caso de error.\n**Esta modificación general permite que el refresco del Control correspondiente al Subtotal lo haga aún si presiona el ícono de grabar sin efectuar el \"gesture\" natural de la secuencia de ingreso de datos (presionar [Enter]) del registro en el [[FORM:Presupuesto.Productos.ProductosGrid]].\n\n====Release 20121024====\n=====Correcciones y Agregados=====\n* [[FORM:PosicionCRM]]. Corrección de Data Source.\n* [[RPRT:IndividualCRM]]. Corrección de Data Source y MakeUp Fecha Detalle\n* [[FORM:ConsultaClienteCRM]]. Corrección de Data Source de [[FORM:ConsultaClienteCRM.MainForm.SFSaldo]]\n* [[TABLA:magnitudes]]. Agregado de tabla\n====Release 20121005====\n=====Problemas Conocidos=====\n* [[FORM:PosicionCRM]]. Existen diferencias en los origenes de datos por lo que muestra diferentes resultados de [[FORM:ConsultaClientesCRM]]\n=====Correcciones y Agregados=====\n* [[PROC:AltaItemPresupuestoTmp]]. Corrección. Error en el procedimiento. El error radicaba en que la condición de los registros existentes dentro de la [[TABLA:vidquoten3tmp]] para evitar el agregado de esos mismos registro por parte del procedimiento desde la [[TABLA:componentes]]. Los valores que existían eran las constantes utilizadas para las pruebas. Se procede al reemplazo por parte de los parámetros provenientes de la función que llama al procedimiento. Se agrega además un parche para asignar el atributo ElementoPM para aquellos Elementos que no han arrastrado previamente por algún motivo este elemento al momento de grabar.\n* [[VISTA:proveedores]]. Cambio de formato del tag\n* [[PROC:CalculoPrecio]]. Agregado de los cálculos correspondientes a las nuevas magnitudes ALto y ANcho.\n* [[FORM:Presupuesto]]. Corrección. Ordenamiento del vector de ProductosDSC.\n* [[FORM:Presupuesto]]. Agregado. Se agrega la opción dentro del ListBox correspondiente a ProductosDSC de \"Selección de Filtro\". Lanza la [[MACRO:ControlLista]] y recupera el valor anterior con [[MACRO:ResetFiltroProductoFORMPresupuesto]].\n* [[FORM:Presupuesto]]. Corrección. Se agrega la función para afectar las eliminaciones de productos.\n* [[FORM:Presupuesto]]. Corrección. Se elimina el tabstop del campo de aprobado.\n* [[FORM:Aux000002]]. Corrección. Se cambia la Property de Add record.\n* [[MACRO:SugerenciaContactoID]]. Se agrega la distinción para que pueda ser leido correctamente desde [[FORM:Aux000002]].\n* [[FORM:Presupuesto]]. Se elimina la visualización del boton de prueba en la zona de Composicion.\n* [[FORM:Presupuesto]]. Se agrega valor por defecto en [[CTRL:Presupuesto.txtVidQuoteACom]]\n* [[FORM:Presupuesto]]. Se agrega la visualización del FORM:ComponentesDisplay desde [[MACRO:EventoWhenLoadingFormCabecera]]\n====Release 20120912====\n=====Problemas Conocidos=====\n* [[FORM:Presupuesto]]. La ayuda específica de ingreso de la descripción de producto no funciona.\n* [[FORM:PosicionCRM]]. El reporte [[RPRT:IndividualCRM]] muestra problemas aleatorios en la última columna (despliega aleatoriamente decimales).\n=====Correcciones y Agregados=====\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataCliente para evitar repetir la consulta de los datos del cliente (descripción, coeficientes agregados, etc.)\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataAgente para evitar repetir la consulta ya que se agrega la modalidad de aplicar el coeficiente que tiene el agente comercial adicional al del cliente y a los definidos en el módulo de precios.\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\n* [[VISTA:acomerciales]]. Se cambia el nombre del ID principal por AComercialID y se agregan los datos de Coeficiente que proviene de la [[TABLA:contactos]].\n* [[TABLA:contactos]]. Se agrega un atributo que puede representar la fotografía o logo de la empresa contacto.\n* [[PROC:AltaItemPresupuesto]]. Correcciones y Test.\n* [[PROC:ActualizaItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Actualiza_Item_Presupuesto]]. Creación en el evento SQL BEFORE UPDATE sobre [[TABLA:vidquoten2]] para reemplazar la ejecución del proceso de actualización en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\n* [[PROC:CopiaPresupuesto]]. Reactivación a razón del rediseño [[FORM:Presupuesto]].\n* [[FORM:Presupuesto]]. Inclusion del ordenamiento por el atributo VidQuoteID dentro de [[TABLA:vidquoten1]]\n\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:PresupuestoV1.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****[[MACRO:EventoBRADetallePresupuesto]]\n*****Sin Cambios\n****[[MACRO:EventoBRCDetallePresupuesto]]\n****[[MACRO:BotonActualizarPresupuesto]]\n*****Adaptación al nuevo [[PROC:ActualizaPreciosPresupuesto]]\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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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'),(1230,'===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n\n===20120831===\n====Agregar Nombre de Usuario [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1915 [[File:checked.png|20px]]\n\n====Modificación de Triggers [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1924 [[File:checked.png|20px]]\n\n====Modificacion de Estructura [[TABLA:contactos]] [[File:checked.png|20px]]====\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*20120926.1927 [[File:checked.png|20px]]\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n*20120926.1928 No se verificó [[File:warning-icon-hi.png|20px]]\n\n====Agrega Atributo [[TABLA:contactos]] [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20120926.1939 [[File:checked.png|20px]]\n====Cambio de Condición para [[VISTA:clientes]] [[File:checked.png|20px]]====\n*20120926.1942 [[File:checked.png|20px]]\n\n====Alta de Tabla [[TABLA:telemecomp]] [[File:checked.png|20px]]====\n*20120926.1957\n** Alta generada [[File:checked.png|20px]]\n** Falta ingresar los datos [[File:warning-icon-hi.png|20px]]\n\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB [[File:checked.png|20px]]====\n*20120926.2007 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]] [[File:checked.png|20px]]====\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*20120927.2014 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\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*20120926.2015 [[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*[[20121004.1617]][[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*20121004.1621 [[File:checked.png|20px]]\n\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]] y [[PROC:AltaItemPresupuestoTmp]][[File:checked.png|20px]]====\nIncluye las modificaciones de inclusión de ElementoPM\n*20121004.1625 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n*20121004.1630 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n\n====Crea [[PROC:ResetEdicionItemTmp]][[File:checked.png|20px]]====\n*20121004.1655 [[File:checked.png|20px]]\n\n====Cambiar [[VISTA:acomerciales]][[File:checked.png|20px]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n*20121004.1657 [[File:checked.png|20px]]\n\n====Agregar en [[TABLA:contactos]][[File:checked.png|20px]]====\nAgregar atributo que responde al imagen asociada al contacto.\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20121004.1659 [[File:checked.png|20px]]\n====Alta del [[TRIG:Actualiza_Item_Presupuesto]][[File:checked.png|20px]]====\n*20121004.1718 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:CopiaPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]\n====Cambios estructura del [[TABLA:composicion]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicID` INT NOT NULL AUTO_INCREMENT  AFTER `ElementoID` \n, DROP PRIMARY KEY \n, ADD PRIMARY KEY (`ProductoID`, `ElementoID`, `ComposicID`) ;\n</pre>\n*20121004.1857 [[File:checked.png|20px]]\n====Alta del [[PROC:AltaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1937 [[File:checked.png|20px]]\n===20120702===\n====Agregado de atributo de Medicion en Obra [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n*20120926.1616 [[File:checked.png|20px]]\n====Actualización de dato de Vigencia de Documentos [[File:checked.png|20px]]====\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*20120926.1634 [[File:checked.png|20px]]\n====Actualización de datos para el control de Cobranzas [[File:checked.png|20px]]====\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*20120926.1651 [[File:checked.png|20px]]\n\n====Crear [[VISTA:vistranscrm]] [[File:checked.png|20px]]====\n*2012092616.55 [[File:checked.png|20px]]\n\n====Crear [[TABLA:clientescrmqry]] [[File:checked.png|20px]] ====\n*20120926 [[File:checked.png|20px]]\n\n====Crear [[VISTA:chqactivos]] [[File:checked.png|20px]]====\n*20120926.1758 [[File:checked.png|20px]]\n\n====Crear [[TABLA:accpayab]] [[File:checked.png|20px]]====\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*20120926.1804 [[File:checked.png|20px]]\n\n====Modifica [[TABLA:fPago]] [[File:checked.png|20px]]====\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*20120926.1808 [[File:checked.png|20px]]\n\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]] [[File:checked.png|20px]]====\n*20120926.1835 [[File:checked.png|20px]]\n\n====Crea [[VISTA:vistotprod]] [[File:checked.png|20px]]====\n*20120926.1836 [[File:checked.png|20px]]\n\n====Crea [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\n*20120926.1902 [[File:checked.png|20px]]\n\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores [[File:checked.png|20px]]====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n*20120926.1908 [[File:checked.png|20px]]','utf-8'),(1231,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20121201====\n=====Problemas Conocidos=====\n*[[FORM:Presupuesto]]. Aleatoriamente no hace el cálculo o no lo refresca correctamente.\n*[[TKT:FZG.000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\n*[[TKT:FZG.000002]]. Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional. Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]. Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]]. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n*[[TKT:FZG.000011]]. En apariencia los algoritmos en Windows / Unix no otorgan los mismos resultados para el control de licencias.\n\n=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\n*[[FORM:Modulos]]. Cambio de diseño para incluir el [[FORM:Modulos.FormModulos.FormDetalleProducto.FormSubSet]] como control para el ingreso de ocurrencias de subconjuntos de lineas de control. Se crea la [[MACRO:ChangeFieldtxtSubSetTPFORMModulos]] para la validación del identificativo de Wide/Height del elemento.\n*[[TABLA:modulosdet]]. Cambio de esquema para albergar ocurrencias de Subconjuntos de \"lineas de control\" con el alta de la [[TABLA:modulossbs]].\n*[[VISTA:viscompcnt]]. Restylish de la vista\n*[[FORM:CopiaComposicion]]. Restylish, modificación de SubForm.\n*[[VISTA:productosdisp]]. Generación de vista de productos incluyendo los generados a partir de [[TABLA:bocetos]]\n*[[TABLA:productos]]. Agregado de atributo CompoEdit para señalar si el producto es editable o no. Es automático y no debe estar permitida su modificación por parte del usuario. No se modifica el [[FORM:Productos]] en su layout pero si se agrega controles de completado automático.\n*[[TABLA:productos]]. Agregado de atributo ProductoOr para señalar el tipo de origen de la registración. No se modifica el [[FORM:Productos]]  en su layout pero si se agrega controles de completado automático.\n*[[TABLA:composicion]]. Agregado del atributo ComposicOBS para señalar una diferenciación del nombre del producto en los casos de códigos de elementos repetidos y de diferente conformación en los parámetros de la composicion.\n*[[BTCR:20130322]].[[FORM:ComposicionMasivoPorProducto]]. Agregado de la captura del atributo ComposicOBS. \n*[[BTCR:20130322]].[[FORM:Presupuesto]]. Agregado de la captura del atributo ComposicOBS. \n*[[BTCR:20130417]].[[FORM:Productos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130417]].[[FORM:Modulos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130417]].[[FORM:Bocetos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130419]].[[FORM:Modulos x Lineas Control]]: Corrección en [[SUB:ControlLineaSemaphor]]\n*[[BTCR:20130419]].[[VISTA:vischeckmod]]: Agregado a la estructura.\n*[[BTCR:20130423]].[[TABLA:productos]]: Agregado del atributo \"ProductoTAG\".\n\n====Release 20121030====\n=====Problemas Conocidos=====\n*Aleatoriamente no elimina registros y cuando se visualiza o refresca la tabla, hace shutdown de la sesión\n=====Correcciones y Agregados=====\n* [[MACRO:AprobacionPresupuesto]]. Corrección. Se modifica la acción posterior de redespliegue de subformularios eliminando las instrucciones anteriores y sumando la rutina [[MACRO:ControlFormPresupuesto]]\n====Release 20121029====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n* [[TABLA:vidquoten1]]. Corrección. Se agregan los controles de NOTNULL a los atributos de Cliente y de Agente Comercial.\n* [[FORM:Presupuesto]]. Corrección. Por diferencias aparentes en las versiones de la DB vs. ODBC se cambia el DataSource de [[FORM:Presupuesto.DataCliente]] para que lo haga sobre la [[TABLA:contactos]] y no sobre la [[VISTA:clientes]].\n* [[FORM:Presupuesto]]. Corrección. Se agregan los controles de límites para los atributos de Ancho y Alto dentro de [[FORM:Presupuestos.Productos]].\n**El esquema funciona haciendo un llamado básicamente a la rutina indicada en [[MACRO:CheckValidMeasure]] ante los eventos de ItemChange de ambas columnas.\n**Se modifica el esquema de [[MACRO:EventoBRCDetallePresupuesto]] que gestionaba a la fecha escencialmente el alta de registros en [[TABLA:viquoten3]] transfiriendo esa ejecución del alta a traves de [[MACRO:AltaProductoPresupuesto]] que se ejecuta en [[MACRO:EventoARADetallePresupuesto]] con los parámetros de acción provenientes de [[MACRO:EventoBRADetallePresupuesto]]. Es precisamente la [[MACRO:EventoARADetallePresupuesto]], donde efectua el chequeo [[MACRO:CheckValidMeasure]], que siendo declarada como función, retorna el valor del chequeo para que se mantenga dentro del mismo control en el caso de error.\n**Esta modificación general permite que el refresco del Control correspondiente al Subtotal lo haga aún si presiona el ícono de grabar sin efectuar el \"gesture\" natural de la secuencia de ingreso de datos (presionar [Enter]) del registro en el [[FORM:Presupuesto.Productos.ProductosGrid]].\n\n====Release 20121024====\n=====Correcciones y Agregados=====\n* [[FORM:PosicionCRM]]. Corrección de Data Source.\n* [[RPRT:IndividualCRM]]. Corrección de Data Source y MakeUp Fecha Detalle\n* [[FORM:ConsultaClienteCRM]]. Corrección de Data Source de [[FORM:ConsultaClienteCRM.MainForm.SFSaldo]]\n* [[TABLA:magnitudes]]. Agregado de tabla\n====Release 20121005====\n=====Problemas Conocidos=====\n* [[FORM:PosicionCRM]]. Existen diferencias en los origenes de datos por lo que muestra diferentes resultados de [[FORM:ConsultaClientesCRM]]\n=====Correcciones y Agregados=====\n* [[PROC:AltaItemPresupuestoTmp]]. Corrección. Error en el procedimiento. El error radicaba en que la condición de los registros existentes dentro de la [[TABLA:vidquoten3tmp]] para evitar el agregado de esos mismos registro por parte del procedimiento desde la [[TABLA:componentes]]. Los valores que existían eran las constantes utilizadas para las pruebas. Se procede al reemplazo por parte de los parámetros provenientes de la función que llama al procedimiento. Se agrega además un parche para asignar el atributo ElementoPM para aquellos Elementos que no han arrastrado previamente por algún motivo este elemento al momento de grabar.\n* [[VISTA:proveedores]]. Cambio de formato del tag\n* [[PROC:CalculoPrecio]]. Agregado de los cálculos correspondientes a las nuevas magnitudes ALto y ANcho.\n* [[FORM:Presupuesto]]. Corrección. Ordenamiento del vector de ProductosDSC.\n* [[FORM:Presupuesto]]. Agregado. Se agrega la opción dentro del ListBox correspondiente a ProductosDSC de \"Selección de Filtro\". Lanza la [[MACRO:ControlLista]] y recupera el valor anterior con [[MACRO:ResetFiltroProductoFORMPresupuesto]].\n* [[FORM:Presupuesto]]. Corrección. Se agrega la función para afectar las eliminaciones de productos.\n* [[FORM:Presupuesto]]. Corrección. Se elimina el tabstop del campo de aprobado.\n* [[FORM:Aux000002]]. Corrección. Se cambia la Property de Add record.\n* [[MACRO:SugerenciaContactoID]]. Se agrega la distinción para que pueda ser leido correctamente desde [[FORM:Aux000002]].\n* [[FORM:Presupuesto]]. Se elimina la visualización del boton de prueba en la zona de Composicion.\n* [[FORM:Presupuesto]]. Se agrega valor por defecto en [[CTRL:Presupuesto.txtVidQuoteACom]]\n* [[FORM:Presupuesto]]. Se agrega la visualización del FORM:ComponentesDisplay desde [[MACRO:EventoWhenLoadingFormCabecera]]\n====Release 20120912====\n=====Problemas Conocidos=====\n* [[FORM:Presupuesto]]. La ayuda específica de ingreso de la descripción de producto no funciona.\n* [[FORM:PosicionCRM]]. El reporte [[RPRT:IndividualCRM]] muestra problemas aleatorios en la última columna (despliega aleatoriamente decimales).\n=====Correcciones y Agregados=====\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataCliente para evitar repetir la consulta de los datos del cliente (descripción, coeficientes agregados, etc.)\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataAgente para evitar repetir la consulta ya que se agrega la modalidad de aplicar el coeficiente que tiene el agente comercial adicional al del cliente y a los definidos en el módulo de precios.\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\n* [[VISTA:acomerciales]]. Se cambia el nombre del ID principal por AComercialID y se agregan los datos de Coeficiente que proviene de la [[TABLA:contactos]].\n* [[TABLA:contactos]]. Se agrega un atributo que puede representar la fotografía o logo de la empresa contacto.\n* [[PROC:AltaItemPresupuesto]]. Correcciones y Test.\n* [[PROC:ActualizaItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Actualiza_Item_Presupuesto]]. Creación en el evento SQL BEFORE UPDATE sobre [[TABLA:vidquoten2]] para reemplazar la ejecución del proceso de actualización en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\n* [[PROC:CopiaPresupuesto]]. Reactivación a razón del rediseño [[FORM:Presupuesto]].\n* [[FORM:Presupuesto]]. Inclusion del ordenamiento por el atributo VidQuoteID dentro de [[TABLA:vidquoten1]]\n\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:PresupuestoV1.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****[[MACRO:EventoBRADetallePresupuesto]]\n*****Sin Cambios\n****[[MACRO:EventoBRCDetallePresupuesto]]\n****[[MACRO:BotonActualizarPresupuesto]]\n*****Adaptación al nuevo [[PROC:ActualizaPreciosPresupuesto]]\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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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'),(1232,'*[[TEMP:LayoutGeneral|Templates de Layout]]\n===Estructuras de Trabajo===\n*[[:Category:TABLAS|Tablas]]\n**[[:Category:TRIG|Triggers]]\n*[[:Category:VISTAS|Vistas]]\n*[[:Category:FORM|Formularios]]\n*[[:Category:MACR|Macros]]\n*[[:Category:RPRT|Informes]]\n*[[:Category:PROC|Procedimientos]]\n*[[:Category:LIBR|Bibliotecas]]\n*[[Estructuras SQL|CódigoSQL]]','utf-8'),(1233,'[[Category:MACRO]]\n== Descripción ==\n== Biblioteca ==\n[[LIBR:Spanex.B]]\n== Composición ==\n== Código ==\n< small>< pre>\nSub ResetFiltroProductoFORMPresupuesto()\n\noFormProductos		= ThisComponent.DrawPage.Forms(0).getByName(\"Productos\")\noFormProductosGrid	= oFormProductos.getByName(\"ProductosGrid\")\noProductoDSCModel	= oFormProductosGrid.getByName(\"txtVidQuoteProdDSC\")\n\nDim oString(0) as String\n\noTexto	= oTexto & \"SELECT \"\noTexto	= oTexto & \"\' >> Seleccione Filtro << \' AS `Descripcion`, \"\noTexto	= oTexto & \"\'00000000\' AS `ProductoID` \"\noTexto	= oTexto & \"UNION \"\noTexto	= oTexto & \"SELECT \"\noTexto	= oTexto & \"`Descripcion`, `ProductoID` \"\noTexto	= oTexto & \"FROM `fzggestion`.`productos` AS `productos` \"\noTexto	= oTexto & \"ORDER BY `Descripcion` ASC \"\n\noString(0)	= oTexto\noProductoDSCModel.setPropertyValue(\"ListSource\",oString)\noProductoDSCModel.setPropertyValue(\"Label\",\"Descripcion\")\noProductoDSCModel.refresh()\n\noFormProductosGrid.getByName(\"fmtVidQuoteAncho\").setPropertyValue(\"Enabled\",True)\noFormProductosGrid.getByName(\"fmtVidQuoteAlto\").setPropertyValue(\"Enabled\",True)\n\nend Sub\n< /pre>< /small>\n== Bitácora ==\n== Uso ==','utf-8'),(1234,'[[Category:MACRO]]\n== Descripción ==\n== Biblioteca ==\n[[LIBR:Spanex.B]]\n== Composición ==\n== Código ==\n<small><pre>\nSub ResetFiltroProductoFORMPresupuesto()\n\noFormProductos		= ThisComponent.DrawPage.Forms(0).getByName(\"Productos\")\noFormProductosGrid	= oFormProductos.getByName(\"ProductosGrid\")\noProductoDSCModel	= oFormProductosGrid.getByName(\"txtVidQuoteProdDSC\")\n\nDim oString(0) as String\n\noTexto	= oTexto & \"SELECT \"\noTexto	= oTexto & \"\' >> Seleccione Filtro << \' AS `Descripcion`, \"\noTexto	= oTexto & \"\'00000000\' AS `ProductoID` \"\noTexto	= oTexto & \"UNION \"\noTexto	= oTexto & \"SELECT \"\noTexto	= oTexto & \"`Descripcion`, `ProductoID` \"\noTexto	= oTexto & \"FROM `fzggestion`.`productos` AS `productos` \"\noTexto	= oTexto & \"ORDER BY `Descripcion` ASC \"\n\noString(0)	= oTexto\noProductoDSCModel.setPropertyValue(\"ListSource\",oString)\noProductoDSCModel.setPropertyValue(\"Label\",\"Descripcion\")\noProductoDSCModel.refresh()\n\noFormProductosGrid.getByName(\"fmtVidQuoteAncho\").setPropertyValue(\"Enabled\",True)\noFormProductosGrid.getByName(\"fmtVidQuoteAlto\").setPropertyValue(\"Enabled\",True)\n\nend Sub\n</pre></small>\n\n== Bitácora ==\n== Uso ==','utf-8'),(1235,'*[[TEMP:LayoutGeneral|Templates de Layout]]\n===Estructuras de Trabajo===\n*[[:Category:TABLAS|Tablas]]\n**[[:Category:TRIG|Triggers]]\n*[[:Category:VISTAS|Vistas]]\n*[[:Category:FORM|Formularios]]\n*[[:Category:MACRO|Macros]]\n*[[:Category:RPRT|Informes]]\n*[[:Category:PROC|Procedimientos]]\n*[[:Category:LIBR|Bibliotecas]]\n*[[Estructuras SQL|CódigoSQL]]','utf-8'),(1236,'Listado de Macros','utf-8'),(1237,'[[Category:MACRO]]\n== Descripción ==\nEjecuta las operaciones al marcar el VidQuoteEstado dentro de un presupuesto.\n== Biblioteca ==\n[LIBR:SpanexB]\n\n== Composición ==\n== Código ==\n<small><pre>\nSub AprobacionPresupuesto (oEvent as Object)\n\nDim oEstado		AS Boolean\n\n	oForm			= oEvent.Source.Model.Parent\n	oMensaje		= \"\"\n	oMensaje		= oMensaje & \"Este proceso realiza las siguientes actividades:\" & Chr(13)\n	oMensaje		= oMensaje & \"* Marca el presupuesto como aprobado y no permite su modificacion.\" & Chr(13)\n	oMensaje		= oMensaje & \"* Genera una obligacion para el cliente en su cuenta corriente.\" & Chr(13)\n	oMensaje		= oMensaje & \"* Genera una Orden de Trabajo (OT) para Producción/Taller.\" & Chr(13) & Chr(13)\n	oMensaje		= oMensaje & \"¿Desea Aprobar este Presupuesto?\"\n	\n	if MsgBox(oMensaje,MB_YESNO+MB_ICONEXCLAMATION,\"Atención\") = IDYES AND Not(oForm.IsNew) Then\n		oForm.getbyname(\"datVidQuoteFechaEst\").BoundField.updateString(format(Clng(CDateToIso(Date)),\"0000-00-00\"))\n		oForm.UpdateRow()\n		\'oEstado		= iiif(NOT(oForm.IsNew),oForm.getByName(\"txtVidQuoteEstado\").CurrentValue,0)\n		\'oSubForm		= oForm.getByName(\"Productos\")\n		\'oSubFormGrid	= oSubForm.getByName(\"ProductosGrid\")\n		\'oSubFormGrid.setPropertyValue(\"Enabled\",NOT(oEstado))\n		\'oSubForm.getByName(\"NavBarListaProductos\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		ControlFormPresupuesto()\n	end if\nend Sub\n</pre></small>\n== Bitácora ==\n*20121030\n**Se eliminan las líneas afectadas a redesplegar el presupuesto de acuerdo al Estado modificado y se reemplaza por [[MACRO:ControlFormPresupuesto]]\n*20121029\n**Ultimo script\n<small><pre>\nSub AprobacionPresupuesto (oEvent as Object)\n\nDim oEstado		AS Boolean\n\n	oForm			= oEvent.Source.Model.Parent\n	oMensaje		= \"\"\n	oMensaje		= oMensaje & \"Este proceso realiza las siguientes actividades:\" & Chr(13)\n	oMensaje		= oMensaje & \"* Marca el presupuesto como aprobado y no permite su modificacion.\" & Chr(13)\n	oMensaje		= oMensaje & \"* Genera una obligacion para el cliente en su cuenta corriente.\" & Chr(13)\n	oMensaje		= oMensaje & \"* Genera una Orden de Trabajo (OT) para Producción/Taller.\" & Chr(13) & Chr(13)\n	oMensaje		= oMensaje & \"¿Desea Aprobar este Presupuesto?\"\n	\n	if MsgBox(oMensaje,MB_YESNO+MB_ICONEXCLAMATION,\"Atención\") = IDYES AND Not(oForm.IsNew) Then\n		oForm.getbyname(\"datVidQuoteFechaEst\").BoundField.updateString(format(Clng(CDateToIso(Date)),\"0000-00-00\"))\n		oForm.UpdateRow()\n		oEstado		= iiif(NOT(oForm.IsNew),oForm.getByName(\"txtVidQuoteEstado\").CurrentValue,0)\n		oSubForm		= oForm.getByName(\"Productos\")\n		oSubFormGrid	= oSubForm.getByName(\"ProductosGrid\")\n		oSubFormGrid.setPropertyValue(\"Enabled\",NOT(oEstado))\n		oSubForm.getByName(\"NavBarListaProductos\").setPropertyValue(\"Enabled\",NOT(oEstado))\n	end if\nend Sub\n</pre></small>\n\n== Uso ==\n*[[FORM:Presupuesto]]\n**[[FORM:Presupuesto.Cabecera]]\n***[[EVNT:Presupuesto.Cabecera.txtVidQuoteEstado.ItemStatusChange]]','utf-8'),(1238,'[[Category:MACRO]]\n== Descripción ==\nEjecuta la llamada al [[PROC:ActualizaPreciosPresupuesto]] con los parámetros del Presupuesto indicado.\n\n== Biblioteca ==\n== Composición ==\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[FORM:Presupuesto]]\n\n== Código ==\n<small><pre>\nSub BotonActualizarPresupuesto (oEvent as Object)\n\nDim oMensaje 		as String\nDim oForm 			as Object\nDim strSQLSearch	as String\nDim SQLStatement	as Object\nDim oEstado			as Boolean\nDim oVidQuoteID		as Integer\nDim oVidQuoteLPre	as Integer\nDim oVidQuoteCoefCL	as Double\nDim oVidQuoteCoefAC	as Double\n\n   	oForm		= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")\n   	if oForm.IsNew Then\n		MsgBox(\"No es posible ejecutar esta operacion\",MB_OK+MB_ICONEXCLAMATION,\"¡Atencion!\")\n	else\n		if oForm.getByName(\"txtVidQuoteEstado\").CurrentValue = 0 Then\n			oMensaje	= \"¿Está seguro de Actualizar este Presupuesto con los precios vigentes?\"\n			if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION, \"!Atención!\" ) = IDYES Then\n			\n        		oVidQuoteID		= oForm.getByName(\"fmtVidQuoteID\").CurrentValue\n				oVidQuoteLPre	= oForm.getByName(\"DataCliente\").getByName(\"fmtListaPrecio\").CurrentValue\n				oVidQuoteCoefCL	= oForm.getByName(\"DataCliente\").getByName(\"fmtCoeficienteAC\").CurrentValue\n				oVidQuoteCoefAC	= oForm.getByName(\"DataAgente\").getByName(\"fmtCoeficienteAC\").CurrentValue\n					\n				oConnection = oForm.ActiveConnection\n				SQLStatement = oConnection.createStatement()\n				SQLStatement = oConnection.preparestatement(\"CALL ActualizaPreciosPresupuesto (?,?,?)\")\n				SQLStatement.setInt(1,oVidQuoteID)\n				SQLStatement.setInt(2,oVidQuoteLPre)\n				SQLStatement.setDouble(3,oVidQuoteCoefCL * oVidQuoteCoefAC)\n				\'SQLStatement.execute()\n				oForm.getByName(\"Productos\").reload()\n				oForm.getByName(\"Productos\").getByName(\"ComponentesDisplay\").reload()\n			end if\n		else\n			oMensaje	= \"Este Presupuesto se encuentra en estado Aprobado\"\n			MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION, \"!Atención!\" )\n	    end if       	\n   	endif\nEnd Sub\n</pre></small>\n\n== Bitácora ==\n*20120920\n**Cambio debido al nuevo [[PROC:ActualizaPreciosPresupuesto]]\n<small><pre>\nSub BotonActualizarPresupuesto (oEvent as Object)\n\nDim oMensaje 		as String\nDim oForm 		as Object\nDim oSubForm 		as Object\nDim strSQLSearch	as String\nDim SQLStatement	as Object\nDim oVidQuoteID		as String\n\n   	oForm	= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")\n   	oSubForm= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n   	if oForm.IsNew Then\n		MsgBox(\"No es posible ejecutar esta operacion\",1,\"¡Atencion!\")\n	else\n		select case msgBox( \"¿Está seguro de Actualizar este Presupuesto con los precios actuales?\", 1, \"!Atención!\" )\n	        case 1 : \n        		oVidQuoteID		= oForm.getByName(\"fmtVidQuoteID\").CurrentValue\n				\'\'strSQLSearch = \"\"\n				\'\'strSQLSearch = strSQLSearch & \"UPDATE vidquoten3 AS T3 SET \"\n				\'\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecio = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,T3.VidQuoteAncho,T3.VidQuoteAlto,T3.VidQuoteLPre),\"\n				\'\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecioP = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,T3.VidQuoteAncho,T3.VidQuoteAlto,T3.VidQuoteLPre) * VidQuoteProdCantidad\"\n				\'\'strSQLSearch = strSQLSearch & \" WHERE \"\n				\'\'strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(Int(oVidQuoteID))\n				\'\'oConnection = oEvent.Source.Model.Parent.ActiveConnection		\'Event from Button\n				\'\'SQLStatement = oConnection.createStatement()\n				\'\'SQLStatement.executeUpdate(strSQLSearch)\n				\'\'SQLStatement.close()\n				oConnection = oForm.ActiveConnection\n				SQLStatement = oConnection.createStatement()\n				SQLStatement = oConnection.preparestatement(\"CALL ActualizaPreciosPresupuesto (?)\")\n				SQLStatement.setint(1,oVidQuoteID)\n				SQLStatement.execute()\n				oSubForm.reload()\n        	case 2 : False\n	    end select        	\n   	endif\nEnd Sub\n</pre></small>\n== Uso ==','utf-8'),(1239,'[[Category:MACRO]]\n== Descripción ==\nRutina de control de la botonera de Componentes dentro de [[FORM:Presupuesto]]\n== Biblioteca ==\n*[[LIBR:SpanexB]]\n== Composición ==\n== Código ==\n<small><pre>\nSub BotonEditarComponentes (oEvent as Object)\n\nDim oSelect		as String\nDim oForm		as Object\nDim oSubForm	as Object\nDim oMensaje	as String\nDim oCondicion	as String\n\n	oSelect		= oEvent.Source.Model.Name\n	oForm		= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")\n	oSubForm	= oForm.getByName(\"Productos\")\n	oSubFormGrid= oSubForm.getByName(\"ProductosGrid\")\n	oCliente	= oForm.getByName(\"txtVidQuoteCliente\").CurrentValue\n	oQuoteID	= oSubFormGrid.getByName(\"fmtVidQuoteID\").CurrentValue\n	oQuoteItem	= oSubFormGrid.getByName(\"fmtVidQuoteItem\").CurrentValue\n	oCantidad	= oSubFormGrid.getByName(\"fmtVidQuoteProdCantidad\").CurrentValue\n	oProductoID	= oSubFormGrid.getByName(\"txtVidQuoteProdID\").CurrentValue\n	if oSubForm.getByName(\"txtVidQuoteQuick\").CurrentValue = 0 Then\n		oQuick	= 2\n	else\n		oQuick	= 1\n	end if\n	oAncho		= oSubFormGrid.getByName(\"fmtVidQuoteAncho\").CurrentValue\n	oAlto		= oSubFormGrid.getByName(\"fmtVidQuoteAlto\").CurrentValue\n	oMensaje	= \"\"\n	\'MsgBox(\"Test\")\n	select case oSelect\n		case \"BtnEditar\"\n			oMensaje	= \"\"\n			oMensaje	= oMensaje & \"Se procederá a actualizar el esquema del producto, \"\n			oMensaje	= oMensaje & \"incluyendo sus precios. ¿Desea continuar?\"\n			if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención!\") = IDYES Then\n				oListaPrecio	= oForm.getByName(\"DataCliente\").getByName(\"fmtListaPrecio\").CurrentValue\n				oCoeficienteCL	= oForm.getByName(\"DataCliente\").getByName(\"fmtCoeficienteAC\").CurrentValue\n				oCoeficienteAC	= oForm.getByName(\"DataAgente\").getByName(\"fmtCoeficienteAC\").CurrentValue\n				oCoeficienteMU	= oCoeficienteCL * oCoeficienteAC\n				oConnection		= oEvent.Source.Model.Parent.ActiveConnection\n				SQLStatement	= oConnection.preparestatement(\"CALL AltaItemPresupuestoTmp (?,?,?,?,?,?,?,?,?)\")\n				SQLStatement.setint(1,oQuoteID)\n				SQLStatement.setint(2,oListaPrecio)\n				SQLStatement.setint(3,oQuoteItem)\n				SQLStatement.setstring(4,oProductoID)\n				SQLStatement.setstring(5,oCantidad)	    \n				SQLStatement.setint(6,oAncho)\n				SQLStatement.setint(7,oAlto)\n				SQLStatement.setfloat(8,oCoeficienteCL * oCoeficienteAC)\n				SQLStatement.setint(9,oQuick)				\n				SQLStatement.execute()\n				SQLStatement.close()\n				oSubForm.getByName(\"ComponentesSimple\").reload()\n				oSubForm.getByName(\"ComponentesSimple\").getByName(\"ComponentesSimpleGrid\").setPropertyValue(\"EnableVisible\",True)\n				oSubForm.getByName(\"ComponentesDisplay\").getByName(\"ComponentesDisplayGrid\").setPropertyValue(\"EnableVisible\",False)\n				oSubForm.getByName(\"ComponentesDisplay\").reload()\n				oSubForm.getByName(\"ComponentesSimple\").getByName(\"SubTotalProducto\").getByName(\"Total\").setPropertyValue(\"EnableVisible\",True)\n			end if\n		case \"BtnAplicar\"\n			oMensaje	= \"\"\n			oMensaje	= oMensaje & \"Se procederá a grabar el nuevo esquema del producto. \" & Chr(13)\n			oMensaje	= oMensaje & \"¿Desea continuar?\"\n			if MsgBox(oMensaje,MB_YESNO+MB_ICONEXCLAMATION,\"Atención!\") = IDYES Then\n				TextoStatusBar(\"Aguarde un momento...\")\n				oSubTotProducto	= oSubForm.getByName(\"ComponentesSimple\").getByName(\"SubTotalProducto\").getByName(\"Total\").CurrentValue\n				oSubFormGrid.getByName(\"fmtVidQuotePrecio\").BoundField.UpdateDouble(oSubTotProducto)\n				oSubForm.UpdateRow()\n				\'Save data in vidquoten3\n				oConnection		= oEvent.Source.Model.Parent.ActiveConnection\n				SQLStatement	= oConnection.preparestatement(\"CALL GrabaItemPresupuestoTmp (?,?)\")\n				SQLStatement.setint(1,oQuoteID)\n				SQLStatement.setint(2,oQuoteItem)\n				SQLStatement.execute()\n				SQLStatement.close()\n				TextoStatusBar(\"\")\n			end if\n			oSubForm.getByName(\"ComponentesDisplay\").reload()\n			oSubForm.getByName(\"ComponentesDisplay\").getByName(\"ComponentesDisplayGrid\").setPropertyValue(\"EnableVisible\",True)\n			oSubForm.getByName(\"ComponentesSimple\").getByName(\"ComponentesSimpleGrid\").setPropertyValue(\"EnableVisible\",False)\n			oSubForm.getByName(\"ComponentesSimple\").reload()\n			oSubForm.getByName(\"ComponentesSimple\").getByName(\"SubTotalProducto\").getByName(\"Total\").setPropertyValue(\"EnableVisible\",False)\n			oSubForm.getByName(\"TotalListaProductos\").reload()\n		case \"BtnReset\"\n			TextoStatusBar(\"Aguarde un momento...\")\n			\'oCondicion		= \"ClienteID=\'\" & oCliente & \"\'\"\n			oConnection		= oEvent.Source.Model.Parent.ActiveConnection\n			SQLStatement	= oConnection.preparestatement(\"CALL ResetEdicionItemTmp (?,?)\")\n			SQLStatement.setint(1,oQuoteID)\n			SQLStatement.setint(2,oQuoteItem)\n			SQLStatement.execute()\n			SQLStatement.close()\n			oSubForm.getByName(\"ComponentesDisplay\").reload()\n			oSubForm.getByName(\"ComponentesDisplay\").getByName(\"ComponentesDisplayGrid\").setPropertyValue(\"EnableVisible\",True)\n			oSubForm.getByName(\"ComponentesSimple\").getByName(\"ComponentesSimpleGrid\").setPropertyValue(\"EnableVisible\",False)\n			oSubForm.getByName(\"ComponentesSimple\").reload()\n			oSubForm.getByName(\"ComponentesSimple\").getByName(\"SubTotalProducto\").getByName(\"Total\").setPropertyValue(\"EnableVisible\",False)\n			TextoStatusBar(\"\")			\n	end select\nend Sub\n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[FORM:Presupuesto]]','utf-8'),(1240,'[[Category:MACRO]]\n== Descripción ==\nChequea los campos de dimensiones dentro del [[FORM:Presupuesto]]\n== Biblioteca ==\n[[LIBR:SpanexB]]\n== Composición ==\n== Código ==\n<small><pre>\nfunction CheckValidMeasure (Optional oEvent as Object)\n\n	\'Test(oEvent)\n	CheckValidMeasure		= True\n	oController				= ThisComponent.CurrentController\n	if IsMissing(oEvent) Then\n		oFormCabecera		= ThisComponent.DrawPage.Forms(0)\n		oFormProductos		= oFormCabecera.getByName(\"Productos\")\n		oFormProductosGrid	= oFormProductos.getByName(\"ProductosGrid\")\n		oCampoAncho			= oFormProductosGrid.getByName(\"fmtVidQuoteAncho\")\n		oCampoAlto			= oFormProductosGrid.getByName(\"fmtVidQuoteAlto\")\n		oCampoName			= \"CheckValidMeasure\"\n		oMagnitud			= oFormProductosGrid.getByName(\"txtVidQuoteMagnitud\").CurrentValue\n	else\n		oEvento				= oEvent\n		oCampo				= oEvento.Source.Model\n		oCampoName			= oEvento.Source.Model.Name\n		oFormProductosGrid	= oEvento.Source.Model.Parent\n		oMagnitud			= oFormProductosGrid.getByName(\"txtVidQuoteMagnitud\").CurrentValue	\n	end if\n\n	\'MsgBox \"Test\"\n	select case oCampoName\n		case \"fmtVidQuoteAncho\"\n			select case oMagnitud\n				case \"M2\",\"MG\",\"PR\",\"AN\",\"ML\"\n					if oCampo.CurrentValue < 25 Then\n						oMensaje	= \"La magnitud definida del producto requiere completar este campo con valores válidos\"\n						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"¡Error!\")\n						oGridView	= oController.GetControl(oFormProductosGrid)\n						oCampoView	= oGridView.getByIndex(3)\n						oGridView.setFocus()\n						oGridView.setCurrentColumnPosition(3)\n						CheckValidMeasure		= False\n						\'Test(oGridView)\n					end if\n				case \"UN\"\n			end select\n		case \"fmtVidQuoteAlto\"\n			select case oMagnitud\n				case \"M2\",\"MG\",\"PR\",\"AL\"\n					if oCampo.CurrentValue < 25 Then\n						oMensaje	= \"La magnitud definida del producto requiere completar este campo con valores válidos\"\n						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"¡Error!\")\n						oGridView	= oController.GetControl(oFormProductosGrid)\n						oCampoView	= oGridView.getByIndex(4)\n						oGridView.setFocus()\n						oGridView.setCurrentColumnPosition(4)\n						CheckValidMeasure		= False\n						\'Test(oGridView)\n					end if\n				case \"ML\",\"AN\",\"UN\"\n			end select\n		case \"CheckValidMeasure\"\n			oCampo	= oCampoAncho\n			select case oMagnitud\n				case \"M2\",\"MG\",\"PR\",\"AN\",\"ML\"\n					if oCampo.CurrentValue < 25 Then\n						oMensaje	= \"La magnitud definida del producto requiere completar este campo (Ancho/Lrg) con valores válidos\"\n						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"¡Error!\")\n						oGridView	= oController.GetControl(oFormProductosGrid)\n						oCampoView	= oGridView.getByIndex(4)\n						oGridView.setFocus()\n						CheckValidMeasure		= False\n					end if\n				case \"UN\"\n			end select\n			if CheckValidMeasure Then\n				oCampo	= oCampoAlto\n				select case oMagnitud\n					case \"M2\",\"MG\",\"PR\",\"AL\"\n						if oCampo.CurrentValue < 25 Then\n							oMensaje	= \"La magnitud definida del producto requiere completar este campo (Alto) con valores válidos\"\n							MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"¡Error!\")\n							oGridView	= oController.GetControl(oFormProductosGrid)\n							oCampoView	= oGridView.getByIndex(4)\n							oGridView.setFocus()\n							CheckValidMeasure		= False\n						end if\n					case \"ML\",\"AN\",\"UN\"\n				end select\n			end if\n	end select\nend function\n</pre></small>\n\n== Bitácora ==\n*20121203\n**Cambio de Valores tope: de 100 a 25 (10cm a 25cm)\n<small><pre>\noCampo.CurrentValue < 100\n</pre></small>\n*20121115\n**Alta:\n<small><pre>\nfunction CheckValidMeasure (Optional oEvent as Object)\n\n	\'Test(oEvent)\n	CheckValidMeasure		= True\n	oController				= ThisComponent.CurrentController\n	if IsMissing(oEvent) Then\n		oFormCabecera		= ThisComponent.DrawPage.Forms(0)\n		oFormProductos		= oFormCabecera.getByName(\"Productos\")\n		oFormProductosGrid	= oFormProductos.getByName(\"ProductosGrid\")\n		oCampoAncho			= oFormProductosGrid.getByName(\"fmtVidQuoteAncho\")\n		oCampoAlto			= oFormProductosGrid.getByName(\"fmtVidQuoteAlto\")\n		oCampoName			= \"CheckValidMeasure\"\n		oMagnitud			= oFormProductosGrid.getByName(\"txtVidQuoteMagnitud\").CurrentValue\n	else\n		oEvento				= oEvent\n		oCampo				= oEvento.Source.Model\n		oCampoName			= oEvento.Source.Model.Name\n		oFormProductosGrid	= oEvento.Source.Model.Parent\n		oMagnitud			= oFormProductosGrid.getByName(\"txtVidQuoteMagnitud\").CurrentValue	\n	end if\n\n	\'MsgBox \"Test\"\n	select case oCampoName\n		case \"fmtVidQuoteAncho\"\n			select case oMagnitud\n				case \"M2\",\"MG\",\"PR\",\"AN\",\"ML\"\n					if oCampo.CurrentValue < 100 Then\n						oMensaje	= \"La magnitud definida del producto requiere completar este campo\"\n						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"¡Error!\")\n						oGridView	= oController.GetControl(oFormProductosGrid)\n						oCampoView	= oGridView.getByIndex(3)\n						oGridView.setFocus()\n						oGridView.setCurrentColumnPosition(3)\n						CheckValidMeasure		= False\n						\'Test(oGridView)\n					end if\n				case \"UN\"\n			end select\n		case \"fmtVidQuoteAlto\"\n			select case oMagnitud\n				case \"M2\",\"MG\",\"PR\",\"AL\"\n					if oCampo.CurrentValue < 100 Then\n						oMensaje	= \"La magnitud definida del producto requiere completar este campo\"\n						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"¡Error!\")\n						oGridView	= oController.GetControl(oFormProductosGrid)\n						oCampoView	= oGridView.getByIndex(4)\n						oGridView.setFocus()\n						oGridView.setCurrentColumnPosition(4)\n						CheckValidMeasure		= False\n						\'Test(oGridView)\n					end if\n				case \"ML\",\"AN\",\"UN\"\n			end select\n		case \"CheckValidMeasure\"\n			oCampo	= oCampoAncho\n			select case oMagnitud\n				case \"M2\",\"MG\",\"PR\",\"AN\",\"ML\"\n					if oCampo.CurrentValue < 100 Then\n						oMensaje	= \"La magnitud definida del producto requiere completar este campo (Ancho/Lrg)\"\n						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"¡Error!\")\n						oGridView	= oController.GetControl(oFormProductosGrid)\n						oCampoView	= oGridView.getByIndex(4)\n						oGridView.setFocus()\n						CheckValidMeasure		= False\n					end if\n				case \"UN\"\n			end select\n			if CheckValidMeasure Then\n				oCampo	= oCampoAlto\n				select case oMagnitud\n					case \"M2\",\"MG\",\"PR\",\"AL\"\n						if oCampo.CurrentValue < 100 Then\n							oMensaje	= \"La magnitud definida del producto requiere completar este campo (Alto)\"\n							MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"¡Error!\")\n							oGridView	= oController.GetControl(oFormProductosGrid)\n							oCampoView	= oGridView.getByIndex(4)\n							oGridView.setFocus()\n							CheckValidMeasure		= False\n						end if\n					case \"ML\",\"AN\",\"UN\"\n				end select\n			end if\n	end select\nend function\n</pre></small>\n\n== Uso ==','utf-8'),(1241,'[[Category:MACRO]]\n== Descripción ==\nFunción para aplicar ante acción de eliminar registro en [[TABLA:vidquoten1]] y [[TABLA:vidquoten2]] dentro de [[FORM:Presupuesto]]\n== Composición ==\n[[FORM:Presupuesto]]\n== Código ==\n<small><pre>\nFunction ConfirmaDeletePresupuesto (oEvent as Object)\n\nDim oEstado		AS Boolean\n	\n	select case oEvent.Source.Model.Name\n		Case \"Cabecera\"\n			oForm			= oEvent.Source.Model\n			oEstado			= oForm.getByName(\"txtVidQuoteEstado\").CurrentValue\n			if oEstado Then\n				oMensaje	= \"\"\n				oMensaje	= oMensaje & \"No es posible eliminar un Presupuesto Aprobado\"\n				MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"Atención\")\n				ConfirmaDeletePresupuesto	= False\n			else\n				oMensaje	= \"\"\n				oMensaje	= oMensaje & \"Se procederá a eliminar el Presupuesto seleccionado. ¿Desea continuar?\"\n				if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención!\") = IDYES Then\n					\'MsgBox \"Eliminó\"\n					ConfirmaDeletePresupuesto	= True\n				else\n					ConfirmaDeletePresupuesto	= False\n				end if\n			end if\n		Case \"Productos\"\n			oForm		= oEvent.Source.Model.Parent\n			oSubForm	= oEvent.Source.Model\n			oEstado		= oForm.getByName(\"txtVidQuoteEstado\").CurrentValue\n			if oEstado Then\n				oMensaje	= \"\"\n				oMensaje	= oMensaje & \"No es posible eliminar Productos de un Presupuesto Aprobado\"\n				MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"Atención\")\n				ConfirmaDeletePresupuesto	= False\n			else\n				oMensaje	= \"\"\n				oMensaje	= oMensaje & \"Se procederá a eliminar el Producto seleccionado. ¿Desea continuar?\"\n				if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención!\") = IDYES Then\n					\'MsgBox \"Eliminó\"\n					ConfirmaDeletePresupuesto	= True\n				else\n					ConfirmaDeletePresupuesto	= False\n				end if\n			end if\n	end select\nend Function\n</pre></small>\n== Bitácora ==\n*20120909\n**Alta de MACRO\n\n== Uso ==\n*[[FORM:Presupuesto]]\n**EVNT:ConfirmDelete','utf-8'),(1242,'[[Category:MACRO]]\n== Descripción ==\nControl de Registro de [[TABLA:vidquoten1]] y su cascada. Despliegue de datos de acuerdo a condiciones propias de los atributos del registro.\n== Composición ==\n[[FORM:Presupuesto]]\n== Código ==\n<small><pre>\nSub ControlFormPresupuesto (oEvent as Object)\n\nDim oEstado		AS Boolean\n\n	oForm			= oEvent.Source\n	if NOT(oForm.IsNew) Then\n		oEstado			= oForm.getByName(\"txtVidQuoteEstado\").CurrentValue\n		\n		\'Bloquea FormCabecera\n		oForm.getByName(\"txtVidQuoteClienteDSC\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oForm.getByName(\"txtVidQuoteCliente\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oForm.getByName(\"datVidQuoteFecha\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oForm.getByName(\"txtVidQuoteACom\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oForm.getByName(\"fmtVidQuoteObra\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oForm.getByName(\"txtVidQuoteEstado\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oForm.getByName(\"txtVidQuoteAComDSC\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		\n		oForm.getByName(\"BtnContactoExpress\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oForm.getByName(\"BtnActualizar\").setPropertyValue(\"Enabled\",NOT(oEstado))\n	\n		\'Bloquea FormProductos\n		oSubForm		= oForm.getByName(\"Productos\")\n		oSubForm.getByName(\"fmtVidQuoteProdCantidad\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oSubForm.getByName(\"txtVidQuoteQuick\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oSubForm.getByName(\"txtVidQuoteProdID\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oSubForm.getByName(\"txtVidQuoteProdDSC\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oSubForm.getByName(\"fmtVidQuoteAncho\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oSubForm.getByName(\"fmtVidQuoteAlto\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		\n		\'Bloquea FormComponentesDisplay\n		oSSubForm		= oSubForm.getByName(\"ComponentesDisplay\")\n		oSSubForm.getByName(\"BtnEditar\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oSSubForm.getByName(\"BtnAplicar\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		oSSubForm.getByName(\"BtnReset\").setPropertyValue(\"Enabled\",NOT(oEstado))\n		\n		\'Despliega Estado (Expirado)\n		oContactoID	= oForm.getByName(\"txtVidQuoteCliente\").CurrentValue\n		oFecha		= CDateFromIso(oForm.getByName(\"datVidQuoteFecha\").CurrentValue)\n		oCondicion	= oCondicion & \"ContactoID=\"&chr(39)& oContactoID &chr(39)\n		oVigencia	= Val(QuerySimple(\"VigenciaDocs\",\"\",\"contactos\",oCondicion,\"Integer\"))\n		oDiferencia	= DateDiff(\"d\",oFecha,date())\n		oStatus		= iif(oDiferencia > oVigencia,\"Expirado\",\"Vigente\")\n		oForm.getByName(\"Expirado\").setString(iif(oDiferencia > oVigencia,\"Expirado\",\"Vigente\"))\n	end if\n	\'MsgBox \"Test\"\nend Sub\n</pre></small>\n== Bitácora ==\n*20120910\n**Alta de MACRO\n== Uso ==\nFORM:Presupuesto','utf-8'),(1243,'[[Category:MACRO]]\n== Descripción ==\nMuestra/Esconde los componentes de un subformulario. Los parámetros son: \n*pMainForm: Formulario Padre.\n*pNSubForm: Formulario PPD.\n*pEstado: configura el estado deseado\npEtiquetas (\'\'Opcional\'\'): En el caso de estar seleccionado incluye los controles de etiquetas también (por defecto, definidos por el prefijo \"lbl\"\n== Biblioteca ==\n[[LIBR:SpanexB]]\n== Composición ==\n== Código ==\n<small><pre>\nsub MuestraSubForm (pMainForm As Object,pNSubForm As String,pEstado as Boolean,Optional pEtiquetas as Boolean)\nDim oSubForm	As object\n	oSubForm 	= pMainForm.getByName(pNSubForm)\n   \'oEtiquetas	= Incluye Etiquetas\n	If Not IsMissing (pEtiquetas) Then\n		oEtiquetas	= pEtiquetas\n	else\n		oEtiquetas	= True\n	end if\n	For i = 0 To Ubound(oSubForm.ElementNames())\n		select case True		\n			case oEtiquetas\n				oSubForm.getByName(oSubForm.ElementNames(i)).EnableVisible 	= pEstado\n			case left(oSubForm.ElementNames(i),3) <> \"lbl\"\n				oSubForm.getByName(oSubForm.ElementNames(i)).EnableVisible 	= pEstado\n		end select\n	Next i\nend sub\n</pre></small>\n== Bitácora ==\n*20121026\n**Alta de rutina\n== Uso ==\n[[FORM:Presupuestos]]','utf-8'),(1244,'[[Category:MACRO]]\n== Descripción ==\nSugiere un código de Contacto de acuerdo al tipo de contacto referido (al momento: Cliente, Proveedor, Agente Comercial, Otros)\n== Biblioteca ==\n*[[SpanexB]]\n== Composición ==\n== Código ==\n<small><pre>\nSub SugerenciaContactoID\n\nDim oForm		As Object\nDim oContactoID	As String\nDim vContactoID	As Double\nDim oRelleno	As String\nDim oPrefijo	As String\n\n	oForm		= ThisComponent.Drawpage.Forms.getByName(\"MainForm\")\n	oFormName	= InStr(ThisComponent.Title,\"Aux:000002\")\n	if oForm.IsNew OR oFormName>0 Then\n		oSugiere	= False\n		if oFormName>0 Then\n			oSugiere = True\n		else\n			oMensaje	= \"\"\n			oMensaje	= oMensaje & \"El código sugerido estará asociado al Tipo de Contacto indicado. Corroboró ya el tipo de contacto?\"\n			if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención\") = IDYES Then\n				oSugiere	= True\n			endif\n		endif\n		if oSugiere Then\n			oCondicion	= \"\"\n			select case True\n				case oForm.getByName(\"txtClienteTag\").CurrentValue=1\n					oCondicion	= oCondicion & \"ClienteTag=1\"\n					oPrefijo	= \"0\"\n				case oForm.getByName(\"txtProveedorTag\").CurrentValue=1\n					oCondicion	= oCondicion & \"ProveedorTag=1\"\n					oPrefijo	= \"3\"					\n				case oForm.getByName(\"txtAComercialTag\").CurrentValue=1\n					oCondicion	= oCondicion & \"AComercialTag=1\"\n					oPrefijo	= \"8\"					\n				case oForm.getByName(\"txtOtrosTag\").CurrentValue=1\n					oCondicion	= oCondicion & \"OtrosTag=1\"\n					oPrefijo	= \"5\"			\n			end select\n			oRelleno	= \"00000000\"\n			oContacto	= QuerySimple(\"Max(ContactoID)\",\"UltimoContacto\",\"contactos\",oCondicion,\"String\")	\n			vContactoID	= Val(oContacto)\n			vContactoID	= vContactoID + 1\n			if oContacto = \"\" Then\n				oContactoID = oPrefijo & Right(oRelleno & RTrim(LTrim(str(vContactoID))),7)\n			else\n				oContactoID = Right(oRelleno & RTrim(LTrim(str(vContactoID))),8)\n			end if\n			oForm.getByName(\"txtContactoID\").setString(oContactoID)\n		end if\n	end if\nend Sub\n</pre></small>\n== Bitácora ==\n*20121017\n**Ultima Modificación\n== Uso ==\n*[[FORM:Presupuesto]]\n**[[FORM:Aux:000002]]\n*[[FORM:Contactos]]','utf-8'),(1245,'[[Category:MACRO]]\n== Descripción ==\nControla el despliegue de subformularios y la habilitación de operaciones en cada uno\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]','utf-8'),(1246,'== Notes ==\n\n=== Ideas ===\n*Button on [[FORM:Presupuesto]] to access [[FORM:Contactos]]. Full Form.\n*Button on [[FORM:Presupuesto]] to add/minus characteristics\n*Test data verification on Height/Wide attributes in every Product record on [[FORM:Presupuesto]] on Windows Installation.\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|-\n|850417886\n|FZG\n|FZG001\n|-\n|219838925\n|FZG\n|FZG002\n|-\n|707325105\n|FZG\n|FZG010\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1247,'[[Category:VISTAS]]\n== Descripción ==\nVista de Lineas Totalizadoras por presupuesto y por producto\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:productos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `vistotprod` AS\nSELECT `vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n       `vidquoten3`.`VidQuoteItem` AS `VidQuoteItem`,\n       `vidquoten3`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n       `vidquoten3`.`VidQuoteProdID` AS `VidQuoteProdID`,\n       `productos`.`Descripcion` AS `Descripcion`,\n       sum(`vidquoten3`.`VidQuotePrecioP`) AS `VidQuotePrecioP`\nFROM (`vidquoten3`\n      JOIN `productos`)\nWHERE (`productos`.`ProductoID` = `vidquoten3`.`VidQuoteProdID`)\nGROUP BY `vidquoten3`.`VidQuoteID`,\n         `vidquoten3`.`VidQuoteItem`,\n         `vidquoten3`.`VidQuoteProdID`\n</pre>\n== Bitácora ==\n*20120824\n**Alta de Vista\n== Uso ==\n*[[FORM:Presupuestos]]\n\n== URL ==','utf-8'),(1248,'[[Category:VISTAS]]\n== Descripción ==\nVista de Lineas Totalizadoras por presupuesto y por producto\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:productos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `vistotprod` AS\nSELECT `vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n       `vidquoten3`.`VidQuoteItem` AS `VidQuoteItem`,\n       `vidquoten3`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n       `vidquoten3`.`VidQuoteProdID` AS `VidQuoteProdID`,\n       `productos`.`Descripcion` AS `Descripcion`,\n       sum(`vidquoten3`.`VidQuotePrecioP`) AS `VidQuotePrecioP`\nFROM (`vidquoten3`\n      JOIN `productos`)\nWHERE (`productos`.`ProductoID` = `vidquoten3`.`VidQuoteProdID`)\nGROUP BY `vidquoten3`.`VidQuoteID`,\n         `vidquoten3`.`VidQuoteItem`,\n         `vidquoten3`.`VidQuoteProdID`\n</pre>\n== Bitácora ==\n*20120824\n**Alta de Vista\n== Uso ==\n*[[FORM:Presupuesto]]\n\n== URL ==','utf-8'),(1249,'== Developing ==\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*[[SpanexDraw|Spanex:Draw]]\n*[[Spanex:Estructuras]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n=== Instalacion .odb ===\n*Copiar el documento .odb\n*Cambiar el usuario de la base de datos\n*Cambiar la constante [[oCheckEstadoLicencia]] a True\n*Grabar documento .odb\n*Cambiar a nivel de Sistema Operativo a ReadOnly\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1250,';En el acceso directo a la aplicación despliega inmediatamente un error sin desplegar el cuadro de dialogo de acceso a la DB\n:Puede deberse a una nueva instalación del software de OpenOffice/LibreOffice. Verificar Herramientas > Opciones > xOfficeBase > Databases','utf-8'),(1251,';En el acceso directo a la aplicación despliega inmediatamente un error sin desplegar el cuadro de dialogo de acceso a la DB\n:Puede deberse a una nueva instalación del software de OpenOffice/LibreOffice. Verificar Herramientas > Opciones > xOfficeBase > Databases que exista la relación con el archivo ODB propiamente dicho.','utf-8'),(1252,'== Developing ==\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*[[SpanexDraw|Spanex:Draw]]\n*[[Spanex:Estructuras]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n=== Instalacion .odb ===\n*Copiar el documento .odb\n*Cambiar el usuario de la base de datos\n*Cambiar la constante [[oCheckEstadoLicencia]] a True\n*Grabar documento .odb\n*Cambiar a nivel de Sistema Operativo a ReadOnly\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1253,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' LKT\n*\'\'\'Fecha:\'\'\' 20130625\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\n* Paños Fijos: Activar códigos adicionales para paños fijos sobre travesaños y parantes, con codigos iguales pero con cantidades diferentes, para poder agregarle como Elemento de Composicion y poder seleccionar cuando arma.\n* Inventar un producto para reflejar las colocaciones (COLOC300=$300)\n* DVH Refleje los valores de descuento y de coeficiente alto correspondiente de acuerdo a los valores\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n=====Observaciones=====','utf-8'),(1254,'== Notes ==\n\n=== Ideas ===\n*Button on [[FORM:Presupuesto]] to access [[FORM:Contactos]]. Full Form.\n*Button on [[FORM:Presupuesto]] to add/minus characteristics\n*Test data verification on Height/Wide attributes in every Product record on [[FORM:Presupuesto]] on Windows Installation.\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|<center>\'\'\'Ca\'\'\'</center>\n|-\n|850417886\n|FZG\n|FZG001\n|-\n|219838925\n|FZG\n|FZG002\n|-\n|707325105\n|FZG\n|FZG010\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1255,'== Notes ==\n\n=== Ideas ===\n*Button on [[FORM:Presupuesto]] to access [[FORM:Contactos]]. Full Form.\n*Button on [[FORM:Presupuesto]] to add/minus characteristics\n*Test data verification on Height/Wide attributes in every Product record on [[FORM:Presupuesto]] on Windows Installation.\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|<center>\'\'\'Ca\'\'\'</center>\n|-\n|850417886\n|FZG\n|FZG001\n|rumbo9999\n|-\n|219838925\n|FZG\n|FZG002\n|rumbo9999\n|-\n|707325105\n|FZG\n|FZG010\n|rumbo9999\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1256,'== Notes ==\n\n=== Ideas ===\n*Button on [[FORM:Presupuesto]] to access [[FORM:Contactos]]. Full Form.\n*Button on [[FORM:Presupuesto]] to add/minus characteristics\n*Test data verification on Height/Wide attributes in every Product record on [[FORM:Presupuesto]] on Windows Installation.\n*Precio por rango (German)\n\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|<center>\'\'\'Ca\'\'\'</center>\n|-\n|850417886\n|FZG\n|FZG001\n|rumbo9999\n|-\n|219838925\n|FZG\n|FZG002\n|rumbo9999\n|-\n|707325105\n|FZG\n|FZG010\n|rumbo9999\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1257,'== Notes ==\n\n=== Ideas ===\n*Button on [[FORM:Presupuesto]] to access [[FORM:Contactos]]. Full Form.\n*Button on [[FORM:Presupuesto]] to add/minus characteristics\n*Test data verification on Height/Wide attributes in every Product record on [[FORM:Presupuesto]] on Windows Installation.\n*Precio por rango (German)\n*Listas de Precios\n**Automatización.\n\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|<center>\'\'\'Ca\'\'\'</center>\n|-\n|850417886\n|FZG\n|FZG001\n|rumbo9999\n|-\n|219838925\n|FZG\n|FZG002\n|rumbo9999\n|-\n|707325105\n|FZG\n|FZG010\n|rumbo9999\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1258,'== Notes ==\n\n=== Ideas ===\n*Button on [[FORM:Presupuesto]] to access [[FORM:Contactos]]. Full Form.\n*Button on [[FORM:Presupuesto]] to add/minus characteristics\n*Test data verification on Height/Wide attributes in every Product record on [[FORM:Presupuesto]] on Windows Installation.\n*Precio por rango (German)\n*Listas de Precios\n**Automatización.\n\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|<center>\'\'\'Ca\'\'\'</center>\n|-\n|152421968\n|HAS\n|HAS\n|pelotubies\n|-\n|850417886\n|FZG\n|FZG001\n|rumbo9999\n|-\n|219838925\n|FZG\n|FZG002\n|rumbo9999\n|-\n|707325105\n|FZG\n|FZG010\n|rumbo9999\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1259,'===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n====Elimina de [[VISTA:preciosvigentes]]====\ndrop view `fzggestion`.`preciosvigentes`;\n\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n\n===20120831===\n====Agregar Nombre de Usuario [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1915 [[File:checked.png|20px]]\n\n====Modificación de Triggers [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1924 [[File:checked.png|20px]]\n\n====Modificacion de Estructura [[TABLA:contactos]] [[File:checked.png|20px]]====\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*20120926.1927 [[File:checked.png|20px]]\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n*20120926.1928 No se verificó [[File:warning-icon-hi.png|20px]]\n\n====Agrega Atributo [[TABLA:contactos]] [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20120926.1939 [[File:checked.png|20px]]\n====Cambio de Condición para [[VISTA:clientes]] [[File:checked.png|20px]]====\n*20120926.1942 [[File:checked.png|20px]]\n\n====Alta de Tabla [[TABLA:telemecomp]] [[File:checked.png|20px]]====\n*20120926.1957\n** Alta generada [[File:checked.png|20px]]\n** Falta ingresar los datos [[File:warning-icon-hi.png|20px]]\n\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB [[File:checked.png|20px]]====\n*20120926.2007 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]] [[File:checked.png|20px]]====\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*20120927.2014 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\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*20120926.2015 [[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*[[20121004.1617]][[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*20121004.1621 [[File:checked.png|20px]]\n\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]] y [[PROC:AltaItemPresupuestoTmp]][[File:checked.png|20px]]====\nIncluye las modificaciones de inclusión de ElementoPM\n*20121004.1625 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n*20121004.1630 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n\n====Crea [[PROC:ResetEdicionItemTmp]][[File:checked.png|20px]]====\n*20121004.1655 [[File:checked.png|20px]]\n\n====Cambiar [[VISTA:acomerciales]][[File:checked.png|20px]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n*20121004.1657 [[File:checked.png|20px]]\n\n====Agregar en [[TABLA:contactos]][[File:checked.png|20px]]====\nAgregar atributo que responde al imagen asociada al contacto.\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20121004.1659 [[File:checked.png|20px]]\n====Alta del [[TRIG:Actualiza_Item_Presupuesto]][[File:checked.png|20px]]====\n*20121004.1718 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:CopiaPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]\n====Cambios estructura del [[TABLA:composicion]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicID` INT NOT NULL AUTO_INCREMENT  AFTER `ElementoID` \n, DROP PRIMARY KEY \n, ADD PRIMARY KEY (`ProductoID`, `ElementoID`, `ComposicID`) ;\n</pre>\n*20121004.1857 [[File:checked.png|20px]]\n====Alta del [[PROC:AltaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1937 [[File:checked.png|20px]]\n===20120702===\n====Agregado de atributo de Medicion en Obra [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n*20120926.1616 [[File:checked.png|20px]]\n====Actualización de dato de Vigencia de Documentos [[File:checked.png|20px]]====\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*20120926.1634 [[File:checked.png|20px]]\n====Actualización de datos para el control de Cobranzas [[File:checked.png|20px]]====\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*20120926.1651 [[File:checked.png|20px]]\n\n====Crear [[VISTA:vistranscrm]] [[File:checked.png|20px]]====\n*2012092616.55 [[File:checked.png|20px]]\n\n====Crear [[TABLA:clientescrmqry]] [[File:checked.png|20px]] ====\n*20120926 [[File:checked.png|20px]]\n\n====Crear [[VISTA:chqactivos]] [[File:checked.png|20px]]====\n*20120926.1758 [[File:checked.png|20px]]\n\n====Crear [[TABLA:accpayab]] [[File:checked.png|20px]]====\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*20120926.1804 [[File:checked.png|20px]]\n\n====Modifica [[TABLA:fPago]] [[File:checked.png|20px]]====\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*20120926.1808 [[File:checked.png|20px]]\n\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]] [[File:checked.png|20px]]====\n*20120926.1835 [[File:checked.png|20px]]\n\n====Crea [[VISTA:vistotprod]] [[File:checked.png|20px]]====\n*20120926.1836 [[File:checked.png|20px]]\n\n====Crea [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\n*20120926.1902 [[File:checked.png|20px]]\n\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores [[File:checked.png|20px]]====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n*20120926.1908 [[File:checked.png|20px]]','utf-8'),(1260,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20121201====\n=====Problemas Conocidos=====\n*[[FORM:Presupuesto]]. Aleatoriamente no hace el cálculo o no lo refresca correctamente.\n*[[TKT:FZG.000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\n*[[TKT:FZG.000002]]. Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional. Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]. Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]]. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n*[[TKT:FZG.000011]]. En apariencia los algoritmos en Windows / Unix no otorgan los mismos resultados para el control de licencias.\n\n=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\n*[[FORM:Modulos]]. Cambio de diseño para incluir el [[FORM:Modulos.FormModulos.FormDetalleProducto.FormSubSet]] como control para el ingreso de ocurrencias de subconjuntos de lineas de control. Se crea la [[MACRO:ChangeFieldtxtSubSetTPFORMModulos]] para la validación del identificativo de Wide/Height del elemento.\n*[[TABLA:modulosdet]]. Cambio de esquema para albergar ocurrencias de Subconjuntos de \"lineas de control\" con el alta de la [[TABLA:modulossbs]].\n*[[VISTA:viscompcnt]]. Restylish de la vista\n*[[FORM:CopiaComposicion]]. Restylish, modificación de SubForm.\n*[[VISTA:productosdisp]]. Generación de vista de productos incluyendo los generados a partir de [[TABLA:bocetos]]\n*[[TABLA:productos]]. Agregado de atributo CompoEdit para señalar si el producto es editable o no. Es automático y no debe estar permitida su modificación por parte del usuario. No se modifica el [[FORM:Productos]] en su layout pero si se agrega controles de completado automático.\n*[[TABLA:productos]]. Agregado de atributo ProductoOr para señalar el tipo de origen de la registración. No se modifica el [[FORM:Productos]]  en su layout pero si se agrega controles de completado automático.\n*[[TABLA:composicion]]. Agregado del atributo ComposicOBS para señalar una diferenciación del nombre del producto en los casos de códigos de elementos repetidos y de diferente conformación en los parámetros de la composicion.\n*[[BTCR:20130322]].[[FORM:ComposicionMasivoPorProducto]]. Agregado de la captura del atributo ComposicOBS. \n*[[BTCR:20130322]].[[FORM:Presupuesto]]. Agregado de la captura del atributo ComposicOBS. \n*[[BTCR:20130417]].[[FORM:Productos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130417]].[[FORM:Modulos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130417]].[[FORM:Bocetos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130419]].[[FORM:Modulos x Lineas Control]]: Corrección en [[SUB:ControlLineaSemaphor]]\n*[[BTCR:20130419]].[[VISTA:vischeckmod]]: Agregado a la estructura.\n*[[BTCR:20130423]].[[TABLA:productos]]: Agregado del atributo \"ProductoTAG\".\n*[[BTCR:20130814]].[[VISTA:preciosvigentes]]: Elimina Vista.\n\n====Release 20121030====\n=====Problemas Conocidos=====\n*Aleatoriamente no elimina registros y cuando se visualiza o refresca la tabla, hace shutdown de la sesión\n=====Correcciones y Agregados=====\n* [[MACRO:AprobacionPresupuesto]]. Corrección. Se modifica la acción posterior de redespliegue de subformularios eliminando las instrucciones anteriores y sumando la rutina [[MACRO:ControlFormPresupuesto]]\n====Release 20121029====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n* [[TABLA:vidquoten1]]. Corrección. Se agregan los controles de NOTNULL a los atributos de Cliente y de Agente Comercial.\n* [[FORM:Presupuesto]]. Corrección. Por diferencias aparentes en las versiones de la DB vs. ODBC se cambia el DataSource de [[FORM:Presupuesto.DataCliente]] para que lo haga sobre la [[TABLA:contactos]] y no sobre la [[VISTA:clientes]].\n* [[FORM:Presupuesto]]. Corrección. Se agregan los controles de límites para los atributos de Ancho y Alto dentro de [[FORM:Presupuestos.Productos]].\n**El esquema funciona haciendo un llamado básicamente a la rutina indicada en [[MACRO:CheckValidMeasure]] ante los eventos de ItemChange de ambas columnas.\n**Se modifica el esquema de [[MACRO:EventoBRCDetallePresupuesto]] que gestionaba a la fecha escencialmente el alta de registros en [[TABLA:viquoten3]] transfiriendo esa ejecución del alta a traves de [[MACRO:AltaProductoPresupuesto]] que se ejecuta en [[MACRO:EventoARADetallePresupuesto]] con los parámetros de acción provenientes de [[MACRO:EventoBRADetallePresupuesto]]. Es precisamente la [[MACRO:EventoARADetallePresupuesto]], donde efectua el chequeo [[MACRO:CheckValidMeasure]], que siendo declarada como función, retorna el valor del chequeo para que se mantenga dentro del mismo control en el caso de error.\n**Esta modificación general permite que el refresco del Control correspondiente al Subtotal lo haga aún si presiona el ícono de grabar sin efectuar el \"gesture\" natural de la secuencia de ingreso de datos (presionar [Enter]) del registro en el [[FORM:Presupuesto.Productos.ProductosGrid]].\n\n====Release 20121024====\n=====Correcciones y Agregados=====\n* [[FORM:PosicionCRM]]. Corrección de Data Source.\n* [[RPRT:IndividualCRM]]. Corrección de Data Source y MakeUp Fecha Detalle\n* [[FORM:ConsultaClienteCRM]]. Corrección de Data Source de [[FORM:ConsultaClienteCRM.MainForm.SFSaldo]]\n* [[TABLA:magnitudes]]. Agregado de tabla\n====Release 20121005====\n=====Problemas Conocidos=====\n* [[FORM:PosicionCRM]]. Existen diferencias en los origenes de datos por lo que muestra diferentes resultados de [[FORM:ConsultaClientesCRM]]\n=====Correcciones y Agregados=====\n* [[PROC:AltaItemPresupuestoTmp]]. Corrección. Error en el procedimiento. El error radicaba en que la condición de los registros existentes dentro de la [[TABLA:vidquoten3tmp]] para evitar el agregado de esos mismos registro por parte del procedimiento desde la [[TABLA:componentes]]. Los valores que existían eran las constantes utilizadas para las pruebas. Se procede al reemplazo por parte de los parámetros provenientes de la función que llama al procedimiento. Se agrega además un parche para asignar el atributo ElementoPM para aquellos Elementos que no han arrastrado previamente por algún motivo este elemento al momento de grabar.\n* [[VISTA:proveedores]]. Cambio de formato del tag\n* [[PROC:CalculoPrecio]]. Agregado de los cálculos correspondientes a las nuevas magnitudes ALto y ANcho.\n* [[FORM:Presupuesto]]. Corrección. Ordenamiento del vector de ProductosDSC.\n* [[FORM:Presupuesto]]. Agregado. Se agrega la opción dentro del ListBox correspondiente a ProductosDSC de \"Selección de Filtro\". Lanza la [[MACRO:ControlLista]] y recupera el valor anterior con [[MACRO:ResetFiltroProductoFORMPresupuesto]].\n* [[FORM:Presupuesto]]. Corrección. Se agrega la función para afectar las eliminaciones de productos.\n* [[FORM:Presupuesto]]. Corrección. Se elimina el tabstop del campo de aprobado.\n* [[FORM:Aux000002]]. Corrección. Se cambia la Property de Add record.\n* [[MACRO:SugerenciaContactoID]]. Se agrega la distinción para que pueda ser leido correctamente desde [[FORM:Aux000002]].\n* [[FORM:Presupuesto]]. Se elimina la visualización del boton de prueba en la zona de Composicion.\n* [[FORM:Presupuesto]]. Se agrega valor por defecto en [[CTRL:Presupuesto.txtVidQuoteACom]]\n* [[FORM:Presupuesto]]. Se agrega la visualización del FORM:ComponentesDisplay desde [[MACRO:EventoWhenLoadingFormCabecera]]\n====Release 20120912====\n=====Problemas Conocidos=====\n* [[FORM:Presupuesto]]. La ayuda específica de ingreso de la descripción de producto no funciona.\n* [[FORM:PosicionCRM]]. El reporte [[RPRT:IndividualCRM]] muestra problemas aleatorios en la última columna (despliega aleatoriamente decimales).\n=====Correcciones y Agregados=====\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataCliente para evitar repetir la consulta de los datos del cliente (descripción, coeficientes agregados, etc.)\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataAgente para evitar repetir la consulta ya que se agrega la modalidad de aplicar el coeficiente que tiene el agente comercial adicional al del cliente y a los definidos en el módulo de precios.\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\n* [[VISTA:acomerciales]]. Se cambia el nombre del ID principal por AComercialID y se agregan los datos de Coeficiente que proviene de la [[TABLA:contactos]].\n* [[TABLA:contactos]]. Se agrega un atributo que puede representar la fotografía o logo de la empresa contacto.\n* [[PROC:AltaItemPresupuesto]]. Correcciones y Test.\n* [[PROC:ActualizaItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Actualiza_Item_Presupuesto]]. Creación en el evento SQL BEFORE UPDATE sobre [[TABLA:vidquoten2]] para reemplazar la ejecución del proceso de actualización en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\n* [[PROC:CopiaPresupuesto]]. Reactivación a razón del rediseño [[FORM:Presupuesto]].\n* [[FORM:Presupuesto]]. Inclusion del ordenamiento por el atributo VidQuoteID dentro de [[TABLA:vidquoten1]]\n\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:PresupuestoV1.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****[[MACRO:EventoBRADetallePresupuesto]]\n*****Sin Cambios\n****[[MACRO:EventoBRCDetallePresupuesto]]\n****[[MACRO:BotonActualizarPresupuesto]]\n*****Adaptación al nuevo [[PROC:ActualizaPreciosPresupuesto]]\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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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'),(1261,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20121201====\n=====Problemas Conocidos=====\n*[[FORM:Presupuesto]]. Aleatoriamente no hace el cálculo o no lo refresca correctamente.\n*[[TKT:FZG.000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\n*[[TKT:FZG.000002]]. Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional. Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]. Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]]. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n*[[TKT:FZG.000011]]. En apariencia los algoritmos en Windows / Unix no otorgan los mismos resultados para el control de licencias.\n\n=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\n*[[FORM:Modulos]]. Cambio de diseño para incluir el [[FORM:Modulos.FormModulos.FormDetalleProducto.FormSubSet]] como control para el ingreso de ocurrencias de subconjuntos de lineas de control. Se crea la [[MACRO:ChangeFieldtxtSubSetTPFORMModulos]] para la validación del identificativo de Wide/Height del elemento.\n*[[TABLA:modulosdet]]. Cambio de esquema para albergar ocurrencias de Subconjuntos de \"lineas de control\" con el alta de la [[TABLA:modulossbs]].\n*[[VISTA:viscompcnt]]. Restylish de la vista\n*[[FORM:CopiaComposicion]]. Restylish, modificación de SubForm.\n*[[VISTA:productosdisp]]. Generación de vista de productos incluyendo los generados a partir de [[TABLA:bocetos]]\n*[[TABLA:productos]]. Agregado de atributo CompoEdit para señalar si el producto es editable o no. Es automático y no debe estar permitida su modificación por parte del usuario. No se modifica el [[FORM:Productos]] en su layout pero si se agrega controles de completado automático.\n*[[TABLA:productos]]. Agregado de atributo ProductoOr para señalar el tipo de origen de la registración. No se modifica el [[FORM:Productos]]  en su layout pero si se agrega controles de completado automático.\n*[[TABLA:composicion]]. Agregado del atributo ComposicOBS para señalar una diferenciación del nombre del producto en los casos de códigos de elementos repetidos y de diferente conformación en los parámetros de la composicion.\n*[[BTCR:20130322]].[[FORM:ComposicionMasivoPorProducto]]. Agregado de la captura del atributo ComposicOBS. \n*[[BTCR:20130322]].[[FORM:Presupuesto]]. Agregado de la captura del atributo ComposicOBS. \n*[[BTCR:20130417]].[[FORM:Productos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130417]].[[FORM:Modulos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130417]].[[FORM:Bocetos]]: Restauración desde [[NV20130107]]\n*[[BTCR:20130419]].[[FORM:Modulos x Lineas Control]]: Corrección en [[SUB:ControlLineaSemaphor]]\n*[[BTCR:20130419]].[[VISTA:vischeckmod]]: Agregado a la estructura.\n*[[BTCR:20130423]].[[TABLA:productos]]: Agregado del atributo \"ProductoTAG\".\n*[[BTCR:20130814]].[[VISTA:preciosvigentes]]: Elimina Vista.\n*[[BTCR:20130815]].[[TABLA:bitacoracrm]]: Crea Tabla\n\n====Release 20121030====\n=====Problemas Conocidos=====\n*Aleatoriamente no elimina registros y cuando se visualiza o refresca la tabla, hace shutdown de la sesión\n=====Correcciones y Agregados=====\n* [[MACRO:AprobacionPresupuesto]]. Corrección. Se modifica la acción posterior de redespliegue de subformularios eliminando las instrucciones anteriores y sumando la rutina [[MACRO:ControlFormPresupuesto]]\n====Release 20121029====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n* [[TABLA:vidquoten1]]. Corrección. Se agregan los controles de NOTNULL a los atributos de Cliente y de Agente Comercial.\n* [[FORM:Presupuesto]]. Corrección. Por diferencias aparentes en las versiones de la DB vs. ODBC se cambia el DataSource de [[FORM:Presupuesto.DataCliente]] para que lo haga sobre la [[TABLA:contactos]] y no sobre la [[VISTA:clientes]].\n* [[FORM:Presupuesto]]. Corrección. Se agregan los controles de límites para los atributos de Ancho y Alto dentro de [[FORM:Presupuestos.Productos]].\n**El esquema funciona haciendo un llamado básicamente a la rutina indicada en [[MACRO:CheckValidMeasure]] ante los eventos de ItemChange de ambas columnas.\n**Se modifica el esquema de [[MACRO:EventoBRCDetallePresupuesto]] que gestionaba a la fecha escencialmente el alta de registros en [[TABLA:viquoten3]] transfiriendo esa ejecución del alta a traves de [[MACRO:AltaProductoPresupuesto]] que se ejecuta en [[MACRO:EventoARADetallePresupuesto]] con los parámetros de acción provenientes de [[MACRO:EventoBRADetallePresupuesto]]. Es precisamente la [[MACRO:EventoARADetallePresupuesto]], donde efectua el chequeo [[MACRO:CheckValidMeasure]], que siendo declarada como función, retorna el valor del chequeo para que se mantenga dentro del mismo control en el caso de error.\n**Esta modificación general permite que el refresco del Control correspondiente al Subtotal lo haga aún si presiona el ícono de grabar sin efectuar el \"gesture\" natural de la secuencia de ingreso de datos (presionar [Enter]) del registro en el [[FORM:Presupuesto.Productos.ProductosGrid]].\n\n====Release 20121024====\n=====Correcciones y Agregados=====\n* [[FORM:PosicionCRM]]. Corrección de Data Source.\n* [[RPRT:IndividualCRM]]. Corrección de Data Source y MakeUp Fecha Detalle\n* [[FORM:ConsultaClienteCRM]]. Corrección de Data Source de [[FORM:ConsultaClienteCRM.MainForm.SFSaldo]]\n* [[TABLA:magnitudes]]. Agregado de tabla\n====Release 20121005====\n=====Problemas Conocidos=====\n* [[FORM:PosicionCRM]]. Existen diferencias en los origenes de datos por lo que muestra diferentes resultados de [[FORM:ConsultaClientesCRM]]\n=====Correcciones y Agregados=====\n* [[PROC:AltaItemPresupuestoTmp]]. Corrección. Error en el procedimiento. El error radicaba en que la condición de los registros existentes dentro de la [[TABLA:vidquoten3tmp]] para evitar el agregado de esos mismos registro por parte del procedimiento desde la [[TABLA:componentes]]. Los valores que existían eran las constantes utilizadas para las pruebas. Se procede al reemplazo por parte de los parámetros provenientes de la función que llama al procedimiento. Se agrega además un parche para asignar el atributo ElementoPM para aquellos Elementos que no han arrastrado previamente por algún motivo este elemento al momento de grabar.\n* [[VISTA:proveedores]]. Cambio de formato del tag\n* [[PROC:CalculoPrecio]]. Agregado de los cálculos correspondientes a las nuevas magnitudes ALto y ANcho.\n* [[FORM:Presupuesto]]. Corrección. Ordenamiento del vector de ProductosDSC.\n* [[FORM:Presupuesto]]. Agregado. Se agrega la opción dentro del ListBox correspondiente a ProductosDSC de \"Selección de Filtro\". Lanza la [[MACRO:ControlLista]] y recupera el valor anterior con [[MACRO:ResetFiltroProductoFORMPresupuesto]].\n* [[FORM:Presupuesto]]. Corrección. Se agrega la función para afectar las eliminaciones de productos.\n* [[FORM:Presupuesto]]. Corrección. Se elimina el tabstop del campo de aprobado.\n* [[FORM:Aux000002]]. Corrección. Se cambia la Property de Add record.\n* [[MACRO:SugerenciaContactoID]]. Se agrega la distinción para que pueda ser leido correctamente desde [[FORM:Aux000002]].\n* [[FORM:Presupuesto]]. Se elimina la visualización del boton de prueba en la zona de Composicion.\n* [[FORM:Presupuesto]]. Se agrega valor por defecto en [[CTRL:Presupuesto.txtVidQuoteACom]]\n* [[FORM:Presupuesto]]. Se agrega la visualización del FORM:ComponentesDisplay desde [[MACRO:EventoWhenLoadingFormCabecera]]\n====Release 20120912====\n=====Problemas Conocidos=====\n* [[FORM:Presupuesto]]. La ayuda específica de ingreso de la descripción de producto no funciona.\n* [[FORM:PosicionCRM]]. El reporte [[RPRT:IndividualCRM]] muestra problemas aleatorios en la última columna (despliega aleatoriamente decimales).\n=====Correcciones y Agregados=====\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataCliente para evitar repetir la consulta de los datos del cliente (descripción, coeficientes agregados, etc.)\n* [[FORM:Presupuesto]]. Diseño. Agregado de Form:DataAgente para evitar repetir la consulta ya que se agrega la modalidad de aplicar el coeficiente que tiene el agente comercial adicional al del cliente y a los definidos en el módulo de precios.\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\n* [[VISTA:acomerciales]]. Se cambia el nombre del ID principal por AComercialID y se agregan los datos de Coeficiente que proviene de la [[TABLA:contactos]].\n* [[TABLA:contactos]]. Se agrega un atributo que puede representar la fotografía o logo de la empresa contacto.\n* [[PROC:AltaItemPresupuesto]]. Correcciones y Test.\n* [[PROC:ActualizaItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Actualiza_Item_Presupuesto]]. Creación en el evento SQL BEFORE UPDATE sobre [[TABLA:vidquoten2]] para reemplazar la ejecución del proceso de actualización en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\n* [[PROC:CopiaPresupuesto]]. Reactivación a razón del rediseño [[FORM:Presupuesto]].\n* [[FORM:Presupuesto]]. Inclusion del ordenamiento por el atributo VidQuoteID dentro de [[TABLA:vidquoten1]]\n\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:PresupuestoV1.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****[[MACRO:EventoBRADetallePresupuesto]]\n*****Sin Cambios\n****[[MACRO:EventoBRCDetallePresupuesto]]\n****[[MACRO:BotonActualizarPresupuesto]]\n*****Adaptación al nuevo [[PROC:ActualizaPreciosPresupuesto]]\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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. 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:PresupuestoV1.0]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:PresupuestoV1.0]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:PresupuestoV1.0]]. 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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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:PresupuestoV1.0]]>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'),(1262,'[[Category:TABLAS]]\n== Descripción ==\nInformación de sucesos sobre presupuestos / clientes\n== Composición ==\nTabla Plana\n== SQL ==\n<pre>\nCREATE  TABLE `fzggestion`.`bitacoracrm` (\n  `BitacoraID` INT NOT NULL AUTO_INCREMENT ,\n  `BitacoraCT` VARCHAR(8) NULL ,\n  `BitacoraAT` VARCHAR(25) NULL ,\n  `BitacoraQT` VARCHAR(45) NULL ,\n  `BitacoraFecha` DATE NULL ,\n  `BitacoraHora` TIME NULL ,\n  `BitacoraUsr` VARCHAR(25) NULL ,\n  `BitacoraTexto` VARCHAR(200) NULL ,\n  PRIMARY KEY (`BitacoraID`) )\nENGINE = MyISAM;\n</pre>\n== Bitácora ==\n*20130815\n**Alta de Tabla\n== Uso ==\n== URL ==','utf-8'),(1263,'[[Category:TABLAS]]\n== Descripción ==\nInformación de sucesos sobre presupuestos / clientes\n\n=== Detalles ===\nBitacoraAT: Nombre / Alias del Contacto que generó la incidencia\nBitacoraCT: Contacto-Cliente\nBitacoraQT: Nº Presupuesto\n== Composición ==\nTabla Plana\n== SQL ==\n<pre>\nCREATE  TABLE `fzggestion`.`bitacoracrm` (\n  `BitacoraID` INT NOT NULL AUTO_INCREMENT ,\n  `BitacoraCT` VARCHAR(8) NULL ,\n  `BitacoraAT` VARCHAR(25) NULL ,\n  `BitacoraQT` INT NULL ,\n  `BitacoraFecha` DATE NULL ,\n  `BitacoraHora` TIME NULL ,\n  `BitacoraUsr` VARCHAR(25) NULL ,\n  `BitacoraTexto` VARCHAR(200) NULL ,\n  PRIMARY KEY (`BitacoraID`) )\nENGINE = MyISAM;\n</pre>\n== Bitácora ==\n*20130815\n**Alta de Tabla\n== Uso ==\n== URL ==','utf-8'),(1264,'[[Category:TABLAS]]\n== Descripción ==\nInformación de sucesos sobre presupuestos / clientes\n\n=== Detalles ===\nBitacoraAT: Nombre / Alias del Contacto que generó la incidencia\nBitacoraCT: Contacto-Cliente\nBitacoraQT: Nº Presupuesto\n== Composición ==\nTabla Plana\n== SQL ==\n<pre>\nCREATE  TABLE `fzggestion`.`bitacoracrm` (\n  `BitacoraID` INT NOT NULL AUTO_INCREMENT ,\n  `BitacoraCT` VARCHAR(8) NULL ,\n  `BitacoraAT` VARCHAR(25) NULL ,\n  `BitacoraQT` INT NULL ,\n  `BitacoraFecha` DATE NULL ,\n  `BitacoraHora` TIME NULL ,\n  `BitacoraUsr` VARCHAR(25) NULL ,\n  `BitacoraTexto` VARCHAR(200) NULL ,\n  PRIMARY KEY (`BitacoraID`) )\nENGINE = MyISAM;\n</pre>\n== Triggers ==\n*Alta\n**[[TRIG:bitacoracrm.Alta_BitacoraCRM]]\n== Bitácora ==\n*20130815\n**Alta de Tabla\n\n== Uso ==\n== URL ==','utf-8'),(1265,'[[Category:TRIG]]\n== Descripción ==\nAgrega información para \"sellar\" la información con fecha.\n== Lanzador ==\nAlta\n== Composición ==\n[[TABLA:bitacoracrm]]\n== SQL ==\n<pre>\nDELIMITER $$\nCREATE\nTRIGGER `Alta_BitacoraCRM`\nBEFORE INSERT ON bitacoracrm\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.BitacoraFecha = CURDATE(),\n	NEW.BitacoraHora = CURTIME(),\n	NEW.BitacoraUsr	= USER();\nEND$$\n</pre>\n== Bitácora ==\n*20130817\n**Alta en bitacora\n== Uso ==','utf-8'),(1266,'== Developing ==\n*[[Clientes]]\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*[[SpanexDraw|Spanex:Draw]]\n*[[Spanex:Estructuras]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n=== Instalacion .odb ===\n*Copiar el documento .odb\n*Cambiar el usuario de la base de datos\n*Cambiar la constante [[oCheckEstadoLicencia]] a True\n*Grabar documento .odb\n*Cambiar a nivel de Sistema Operativo a ReadOnly\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1267,'== Deployment ==\n*[[Clientes]]\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*[[SpanexDraw|Spanex:Draw]]\n*[[Spanex:Estructuras]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n=== Instalacion .odb ===\n*Copiar el documento .odb\n*Cambiar el usuario de la base de datos\n*Cambiar la constante [[oCheckEstadoLicencia]] a True\n*Grabar documento .odb\n*Cambiar a nivel de Sistema Operativo a ReadOnly\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1268,'[[Abertec]]\n[[Centuriones]]\n[[FazzGlass]]','utf-8'),(1269,'== Clientes ==\n*[[Abertec]]\n*[[Centuriones]]\n*[[FazzGlass]]\n*[[VieroAbogados]]\n*[[Cliente5]]','utf-8'),(1270,'== Sitio ==\n== Contactos ==\n== Aplicaciones ==\n*Spanex\n== Soporte ==\n*[[Software|SoftwareFazzGlass]]\n*Hardware\n*Telefonía','utf-8'),(1271,'== Sitio ==\n== Contactos ==\n== Aplicaciones ==\n*Spanex\n== Soporte ==\n*[[SoftwareFazzGlass|Software]]\n*Hardware\n*Telefonía','utf-8'),(1272,'====CorreoElectrónico====\nlavidriera@hotmail.com\nPSW:clau23521156\nfazzglass@hotmail.com\nPSW:clau23521156','utf-8'),(1273,'====CorreoElectrónico====\n*lavidriera@hotmail.com\n**PSW:clau23521156\n*fazzglass@hotmail.com\n**PSW:clau23521156','utf-8'),(1274,'====CorreoElectrónico====\n*lavidriera@hotmail.com\n**PSW:clau23521156\n*fazzglass@hotmail.com\n**PSW:clau23521157','utf-8'),(1275,'== Sitio ==\n== Contactos ==\n*ClaudioFazzini\n**M:011.5452.7723\n*LucasFazzini\n**M:011.3320.4226\n**M:011.30779289\n\n== Aplicaciones ==\n*Spanex\n== Soporte ==\n*[[SoftwareFazzGlass|Software]]\n*Hardware\n*Telefonía','utf-8'),(1276,'== Sitio ==\n*Dirección\n**Dardo Rocha 1496\n**El Jagüel\n**Buenos Aires\n*T:011.4296.0129\n*T:011.4296.5837\n\n== Contactos ==\n*ClaudioFazzini\n**M:011.5452.7723\n*LucasFazzini\n**M:011.3320.4226\n**M:011.30779289\n\n== Aplicaciones ==\n*Spanex\n== Soporte ==\n*[[SoftwareFazzGlass|Software]]\n*Hardware\n*Telefonía','utf-8'),(1277,'== Sitio ==\n*Dirección\n*:Dardo Rocha 1396\n*:El Jagüel\n*:Buenos Aires\n*T:011.4296.0129\n*T:011.4296.5837\n\n== Contactos ==\n*ClaudioFazzini\n**M:011.5452.7723\n*LucasFazzini\n**M:011.3320.4226\n**M:011.30779289\n\n== Aplicaciones ==\n*Spanex\n== Soporte ==\n*[[SoftwareFazzGlass|Software]]\n*Hardware\n*Telefonía','utf-8'),(1278,'== Sitio ==\n*Dirección\n*:Dardo Rocha 1396\n*:El Jagüel\n*:Buenos Aires\n*:T:011.4296.0129\n*:T:011.4296.5837\n\n== Contactos ==\n*ClaudioFazzini\n**M:011.5452.7723\n*LucasFazzini\n**M:011.3320.4226\n**M:011.30779289\n\n== Aplicaciones ==\n*Spanex\n== Soporte ==\n*[[SoftwareFazzGlass|Software]]\n*Hardware\n*Telefonía','utf-8'),(1279,'===Accesos===\n====CorreoElectrónico====\n*lavidriera@hotmail.com\n*:PSW:clau23521156\n*fazzglass@hotmail.com\n*:PSW:clau23521157\n====TV====\n*707325105\n*:rumbo9895\n*:7276','utf-8'),(1280,'===Accesos===\n====CorreoElectrónico====\n*lavidriera@hotmail.com\n*:PSW:clau23521156\n*fazzglass@hotmail.com\n*:PSW:clau23521157\n====TV====\n*707325105\n*:PSW:rumbo9895\n*:PSW:7276','utf-8'),(1281,'*[[Contacto]]\n*[[Apuntes]]\n**[[Apuntes Planeamiento Estratégico|Planeamiento Estratégico]]','utf-8'),(1282,'====Programa de Reuniones====\n*Plenaria\n**Reciben el Programa de Reuniones\n**Plan Estratégico\n***Frente a las estrategias, cuales son los planes de acción\n**Organigrama','utf-8'),(1283,'====Contacto====\n*Ana María Vieiro\n*:Vallejos 3128 3ºB (Cuenca y Helguera)\n*:M:011.5061.5897','utf-8'),(1284,'[[Pendientes|ActualizacionDBPendientes]]\n===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n====Elimina de [[VISTA:preciosvigentes]]====\ndrop view `fzggestion`.`preciosvigentes`;\n\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n\n===20120831===\n====Agregar Nombre de Usuario [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1915 [[File:checked.png|20px]]\n\n====Modificación de Triggers [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1924 [[File:checked.png|20px]]\n\n====Modificacion de Estructura [[TABLA:contactos]] [[File:checked.png|20px]]====\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*20120926.1927 [[File:checked.png|20px]]\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n*20120926.1928 No se verificó [[File:warning-icon-hi.png|20px]]\n\n====Agrega Atributo [[TABLA:contactos]] [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20120926.1939 [[File:checked.png|20px]]\n====Cambio de Condición para [[VISTA:clientes]] [[File:checked.png|20px]]====\n*20120926.1942 [[File:checked.png|20px]]\n\n====Alta de Tabla [[TABLA:telemecomp]] [[File:checked.png|20px]]====\n*20120926.1957\n** Alta generada [[File:checked.png|20px]]\n** Falta ingresar los datos [[File:warning-icon-hi.png|20px]]\n\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB [[File:checked.png|20px]]====\n*20120926.2007 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]] [[File:checked.png|20px]]====\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*20120927.2014 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\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*20120926.2015 [[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*[[20121004.1617]][[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*20121004.1621 [[File:checked.png|20px]]\n\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]] y [[PROC:AltaItemPresupuestoTmp]][[File:checked.png|20px]]====\nIncluye las modificaciones de inclusión de ElementoPM\n*20121004.1625 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n*20121004.1630 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n\n====Crea [[PROC:ResetEdicionItemTmp]][[File:checked.png|20px]]====\n*20121004.1655 [[File:checked.png|20px]]\n\n====Cambiar [[VISTA:acomerciales]][[File:checked.png|20px]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n*20121004.1657 [[File:checked.png|20px]]\n\n====Agregar en [[TABLA:contactos]][[File:checked.png|20px]]====\nAgregar atributo que responde al imagen asociada al contacto.\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20121004.1659 [[File:checked.png|20px]]\n====Alta del [[TRIG:Actualiza_Item_Presupuesto]][[File:checked.png|20px]]====\n*20121004.1718 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:CopiaPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]\n====Cambios estructura del [[TABLA:composicion]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicID` INT NOT NULL AUTO_INCREMENT  AFTER `ElementoID` \n, DROP PRIMARY KEY \n, ADD PRIMARY KEY (`ProductoID`, `ElementoID`, `ComposicID`) ;\n</pre>\n*20121004.1857 [[File:checked.png|20px]]\n====Alta del [[PROC:AltaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1937 [[File:checked.png|20px]]\n===20120702===\n====Agregado de atributo de Medicion en Obra [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n*20120926.1616 [[File:checked.png|20px]]\n====Actualización de dato de Vigencia de Documentos [[File:checked.png|20px]]====\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*20120926.1634 [[File:checked.png|20px]]\n====Actualización de datos para el control de Cobranzas [[File:checked.png|20px]]====\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*20120926.1651 [[File:checked.png|20px]]\n\n====Crear [[VISTA:vistranscrm]] [[File:checked.png|20px]]====\n*2012092616.55 [[File:checked.png|20px]]\n\n====Crear [[TABLA:clientescrmqry]] [[File:checked.png|20px]] ====\n*20120926 [[File:checked.png|20px]]\n\n====Crear [[VISTA:chqactivos]] [[File:checked.png|20px]]====\n*20120926.1758 [[File:checked.png|20px]]\n\n====Crear [[TABLA:accpayab]] [[File:checked.png|20px]]====\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*20120926.1804 [[File:checked.png|20px]]\n\n====Modifica [[TABLA:fPago]] [[File:checked.png|20px]]====\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*20120926.1808 [[File:checked.png|20px]]\n\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]] [[File:checked.png|20px]]====\n*20120926.1835 [[File:checked.png|20px]]\n\n====Crea [[VISTA:vistotprod]] [[File:checked.png|20px]]====\n*20120926.1836 [[File:checked.png|20px]]\n\n====Crea [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\n*20120926.1902 [[File:checked.png|20px]]\n\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores [[File:checked.png|20px]]====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n*20120926.1908 [[File:checked.png|20px]]','utf-8'),(1285,'[[ActualizacionDBPendientes|Actualizaciones Pendientes]]\n===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n====Elimina de [[VISTA:preciosvigentes]]====\ndrop view `fzggestion`.`preciosvigentes`;\n\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n\n===20120831===\n====Agregar Nombre de Usuario [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1915 [[File:checked.png|20px]]\n\n====Modificación de Triggers [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1924 [[File:checked.png|20px]]\n\n====Modificacion de Estructura [[TABLA:contactos]] [[File:checked.png|20px]]====\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*20120926.1927 [[File:checked.png|20px]]\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n*20120926.1928 No se verificó [[File:warning-icon-hi.png|20px]]\n\n====Agrega Atributo [[TABLA:contactos]] [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20120926.1939 [[File:checked.png|20px]]\n====Cambio de Condición para [[VISTA:clientes]] [[File:checked.png|20px]]====\n*20120926.1942 [[File:checked.png|20px]]\n\n====Alta de Tabla [[TABLA:telemecomp]] [[File:checked.png|20px]]====\n*20120926.1957\n** Alta generada [[File:checked.png|20px]]\n** Falta ingresar los datos [[File:warning-icon-hi.png|20px]]\n\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB [[File:checked.png|20px]]====\n*20120926.2007 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]] [[File:checked.png|20px]]====\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*20120927.2014 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\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*20120926.2015 [[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*[[20121004.1617]][[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*20121004.1621 [[File:checked.png|20px]]\n\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]] y [[PROC:AltaItemPresupuestoTmp]][[File:checked.png|20px]]====\nIncluye las modificaciones de inclusión de ElementoPM\n*20121004.1625 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n*20121004.1630 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n\n====Crea [[PROC:ResetEdicionItemTmp]][[File:checked.png|20px]]====\n*20121004.1655 [[File:checked.png|20px]]\n\n====Cambiar [[VISTA:acomerciales]][[File:checked.png|20px]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n*20121004.1657 [[File:checked.png|20px]]\n\n====Agregar en [[TABLA:contactos]][[File:checked.png|20px]]====\nAgregar atributo que responde al imagen asociada al contacto.\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20121004.1659 [[File:checked.png|20px]]\n====Alta del [[TRIG:Actualiza_Item_Presupuesto]][[File:checked.png|20px]]====\n*20121004.1718 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:CopiaPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]\n====Cambios estructura del [[TABLA:composicion]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicID` INT NOT NULL AUTO_INCREMENT  AFTER `ElementoID` \n, DROP PRIMARY KEY \n, ADD PRIMARY KEY (`ProductoID`, `ElementoID`, `ComposicID`) ;\n</pre>\n*20121004.1857 [[File:checked.png|20px]]\n====Alta del [[PROC:AltaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1937 [[File:checked.png|20px]]\n===20120702===\n====Agregado de atributo de Medicion en Obra [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n*20120926.1616 [[File:checked.png|20px]]\n====Actualización de dato de Vigencia de Documentos [[File:checked.png|20px]]====\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*20120926.1634 [[File:checked.png|20px]]\n====Actualización de datos para el control de Cobranzas [[File:checked.png|20px]]====\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*20120926.1651 [[File:checked.png|20px]]\n\n====Crear [[VISTA:vistranscrm]] [[File:checked.png|20px]]====\n*2012092616.55 [[File:checked.png|20px]]\n\n====Crear [[TABLA:clientescrmqry]] [[File:checked.png|20px]] ====\n*20120926 [[File:checked.png|20px]]\n\n====Crear [[VISTA:chqactivos]] [[File:checked.png|20px]]====\n*20120926.1758 [[File:checked.png|20px]]\n\n====Crear [[TABLA:accpayab]] [[File:checked.png|20px]]====\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*20120926.1804 [[File:checked.png|20px]]\n\n====Modifica [[TABLA:fPago]] [[File:checked.png|20px]]====\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*20120926.1808 [[File:checked.png|20px]]\n\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]] [[File:checked.png|20px]]====\n*20120926.1835 [[File:checked.png|20px]]\n\n====Crea [[VISTA:vistotprod]] [[File:checked.png|20px]]====\n*20120926.1836 [[File:checked.png|20px]]\n\n====Crea [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\n*20120926.1902 [[File:checked.png|20px]]\n\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores [[File:checked.png|20px]]====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n*20120926.1908 [[File:checked.png|20px]]','utf-8'),(1286,'===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n====Elimina de [[VISTA:preciosvigentes]]====\ndrop view `fzggestion`.`preciosvigentes`;\n\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====','utf-8'),(1287,'[[ActualizacionDBPendientes|Actualizaciones Pendientes]]\n===20120831===\n====Agregar Nombre de Usuario [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1915 [[File:checked.png|20px]]\n\n====Modificación de Triggers [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1924 [[File:checked.png|20px]]\n\n====Modificacion de Estructura [[TABLA:contactos]] [[File:checked.png|20px]]====\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*20120926.1927 [[File:checked.png|20px]]\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n*20120926.1928 No se verificó [[File:warning-icon-hi.png|20px]]\n\n====Agrega Atributo [[TABLA:contactos]] [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20120926.1939 [[File:checked.png|20px]]\n====Cambio de Condición para [[VISTA:clientes]] [[File:checked.png|20px]]====\n*20120926.1942 [[File:checked.png|20px]]\n\n====Alta de Tabla [[TABLA:telemecomp]] [[File:checked.png|20px]]====\n*20120926.1957\n** Alta generada [[File:checked.png|20px]]\n** Falta ingresar los datos [[File:warning-icon-hi.png|20px]]\n\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB [[File:checked.png|20px]]====\n*20120926.2007 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]] [[File:checked.png|20px]]====\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*20120927.2014 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\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*20120926.2015 [[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*[[20121004.1617]][[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*20121004.1621 [[File:checked.png|20px]]\n\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]] y [[PROC:AltaItemPresupuestoTmp]][[File:checked.png|20px]]====\nIncluye las modificaciones de inclusión de ElementoPM\n*20121004.1625 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n*20121004.1630 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n\n====Crea [[PROC:ResetEdicionItemTmp]][[File:checked.png|20px]]====\n*20121004.1655 [[File:checked.png|20px]]\n\n====Cambiar [[VISTA:acomerciales]][[File:checked.png|20px]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n*20121004.1657 [[File:checked.png|20px]]\n\n====Agregar en [[TABLA:contactos]][[File:checked.png|20px]]====\nAgregar atributo que responde al imagen asociada al contacto.\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20121004.1659 [[File:checked.png|20px]]\n====Alta del [[TRIG:Actualiza_Item_Presupuesto]][[File:checked.png|20px]]====\n*20121004.1718 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:CopiaPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]\n====Cambios estructura del [[TABLA:composicion]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicID` INT NOT NULL AUTO_INCREMENT  AFTER `ElementoID` \n, DROP PRIMARY KEY \n, ADD PRIMARY KEY (`ProductoID`, `ElementoID`, `ComposicID`) ;\n</pre>\n*20121004.1857 [[File:checked.png|20px]]\n====Alta del [[PROC:AltaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1937 [[File:checked.png|20px]]\n===20120702===\n====Agregado de atributo de Medicion en Obra [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n*20120926.1616 [[File:checked.png|20px]]\n====Actualización de dato de Vigencia de Documentos [[File:checked.png|20px]]====\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*20120926.1634 [[File:checked.png|20px]]\n====Actualización de datos para el control de Cobranzas [[File:checked.png|20px]]====\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*20120926.1651 [[File:checked.png|20px]]\n\n====Crear [[VISTA:vistranscrm]] [[File:checked.png|20px]]====\n*2012092616.55 [[File:checked.png|20px]]\n\n====Crear [[TABLA:clientescrmqry]] [[File:checked.png|20px]] ====\n*20120926 [[File:checked.png|20px]]\n\n====Crear [[VISTA:chqactivos]] [[File:checked.png|20px]]====\n*20120926.1758 [[File:checked.png|20px]]\n\n====Crear [[TABLA:accpayab]] [[File:checked.png|20px]]====\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*20120926.1804 [[File:checked.png|20px]]\n\n====Modifica [[TABLA:fPago]] [[File:checked.png|20px]]====\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*20120926.1808 [[File:checked.png|20px]]\n\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]] [[File:checked.png|20px]]====\n*20120926.1835 [[File:checked.png|20px]]\n\n====Crea [[VISTA:vistotprod]] [[File:checked.png|20px]]====\n*20120926.1836 [[File:checked.png|20px]]\n\n====Crea [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\n*20120926.1902 [[File:checked.png|20px]]\n\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores [[File:checked.png|20px]]====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n*20120926.1908 [[File:checked.png|20px]]','utf-8'),(1288,'==[[ActualizacionDBPendientes|Actualizaciones Pendientes]]==\n==Actualizaciones Historicas==\n===20120831===\n====Agregar Nombre de Usuario [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1915 [[File:checked.png|20px]]\n\n====Modificación de Triggers [[TABLA:precios]] [[File:checked.png|20px]]====\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*20120926.1924 [[File:checked.png|20px]]\n\n====Modificacion de Estructura [[TABLA:contactos]] [[File:checked.png|20px]]====\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*20120926.1927 [[File:checked.png|20px]]\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n*20120926.1928 No se verificó [[File:warning-icon-hi.png|20px]]\n\n====Agrega Atributo [[TABLA:contactos]] [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20120926.1939 [[File:checked.png|20px]]\n====Cambio de Condición para [[VISTA:clientes]] [[File:checked.png|20px]]====\n*20120926.1942 [[File:checked.png|20px]]\n\n====Alta de Tabla [[TABLA:telemecomp]] [[File:checked.png|20px]]====\n*20120926.1957\n** Alta generada [[File:checked.png|20px]]\n** Falta ingresar los datos [[File:warning-icon-hi.png|20px]]\n\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB [[File:checked.png|20px]]====\n*20120926.2007 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]] [[File:checked.png|20px]]====\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*20120927.2014 [[File:checked.png|20px]]\n\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\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*20120926.2015 [[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*[[20121004.1617]][[File:checked.png|20px]]\n\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n*20121004.1621 [[File:checked.png|20px]]\n\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]] y [[PROC:AltaItemPresupuestoTmp]][[File:checked.png|20px]]====\nIncluye las modificaciones de inclusión de ElementoPM\n*20121004.1625 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n*20121004.1630 [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]\n\n====Crea [[PROC:ResetEdicionItemTmp]][[File:checked.png|20px]]====\n*20121004.1655 [[File:checked.png|20px]]\n\n====Cambiar [[VISTA:acomerciales]][[File:checked.png|20px]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n*20121004.1657 [[File:checked.png|20px]]\n\n====Agregar en [[TABLA:contactos]][[File:checked.png|20px]]====\nAgregar atributo que responde al imagen asociada al contacto.\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>\n*20121004.1659 [[File:checked.png|20px]]\n====Alta del [[TRIG:Actualiza_Item_Presupuesto]][[File:checked.png|20px]]====\n*20121004.1718 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:ActualizaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Renovación del [[PROC:CopiaPresupuesto]][[File:checked.png|20px]]====\n*20121004.1727 [[File:checked.png|20px]]\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]\n====Cambios estructura del [[TABLA:composicion]][[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicID` INT NOT NULL AUTO_INCREMENT  AFTER `ElementoID` \n, DROP PRIMARY KEY \n, ADD PRIMARY KEY (`ProductoID`, `ElementoID`, `ComposicID`) ;\n</pre>\n*20121004.1857 [[File:checked.png|20px]]\n====Alta del [[PROC:AltaItemPresupuesto]][[File:checked.png|20px]]====\n*20121004.1937 [[File:checked.png|20px]]\n===20120702===\n====Agregado de atributo de Medicion en Obra [[File:checked.png|20px]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n*20120926.1616 [[File:checked.png|20px]]\n====Actualización de dato de Vigencia de Documentos [[File:checked.png|20px]]====\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*20120926.1634 [[File:checked.png|20px]]\n====Actualización de datos para el control de Cobranzas [[File:checked.png|20px]]====\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*20120926.1651 [[File:checked.png|20px]]\n\n====Crear [[VISTA:vistranscrm]] [[File:checked.png|20px]]====\n*2012092616.55 [[File:checked.png|20px]]\n\n====Crear [[TABLA:clientescrmqry]] [[File:checked.png|20px]] ====\n*20120926 [[File:checked.png|20px]]\n\n====Crear [[VISTA:chqactivos]] [[File:checked.png|20px]]====\n*20120926.1758 [[File:checked.png|20px]]\n\n====Crear [[TABLA:accpayab]] [[File:checked.png|20px]]====\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*20120926.1804 [[File:checked.png|20px]]\n\n====Modifica [[TABLA:fPago]] [[File:checked.png|20px]]====\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*20120926.1808 [[File:checked.png|20px]]\n\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]] [[File:checked.png|20px]]====\n*20120926.1835 [[File:checked.png|20px]]\n\n====Crea [[VISTA:vistotprod]] [[File:checked.png|20px]]====\n*20120926.1836 [[File:checked.png|20px]]\n\n====Crea [[TABLA:vidquoten3tmp]] [[File:checked.png|20px]]====\n*20120926.1902 [[File:checked.png|20px]]\n\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores [[File:checked.png|20px]]====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n*20120926.1908 [[File:checked.png|20px]]','utf-8'),(1289,'== Notes ==\n\n=== Ideas ===\n*Button on [[FORM:Presupuesto]] to access [[FORM:Contactos]]. Full Form.\n*Button on [[FORM:Presupuesto]] to add/minus characteristics\n*Test data verification on Height/Wide attributes in every Product record on [[FORM:Presupuesto]] on Windows Installation.\n*Precio por rango (German)\n*Listas de Precios\n**Automatización.\n\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n[[Lista diferencias]]\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|<center>\'\'\'Ca\'\'\'</center>\n|-\n|152421968\n|HAS\n|HAS\n|pelotubies\n|-\n|850417886\n|FZG\n|FZG001\n|rumbo9999\n|-\n|219838925\n|FZG\n|FZG002\n|rumbo9999\n|-\n|707325105\n|FZG\n|FZG010\n|rumbo9999\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1290,'== Notes ==\n\n=== Ideas ===\n*Button on [[FORM:Presupuesto]] to access [[FORM:Contactos]]. Full Form.\n*Button on [[FORM:Presupuesto]] to add/minus characteristics\n*Test data verification on Height/Wide attributes in every Product record on [[FORM:Presupuesto]] on Windows Installation.\n*Precio por rango (German)\n*Listas de Precios\n**Automatización.\n\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|<center>\'\'\'Ca\'\'\'</center>\n|-\n|152421968\n|HAS\n|HAS\n|pelotubies\n|-\n|850417886\n|FZG\n|FZG001\n|rumbo9999\n|-\n|219838925\n|FZG\n|FZG002\n|rumbo9999\n|-\n|707325105\n|FZG\n|FZG010\n|rumbo9999\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1291,'[[Category:SQLCode]]\n*\'\'\'site\'\'\': cloudoffice.com.ar\n*\'\'\'autor\'\'\': SAS\n<pre>\nmysqldiff --server1=sas_admin:cocolino@sas-desktop.local --server2=sas_admin:cocolino@sas-dskcontg.local \\\n--difftype=sql fzggestion:fzggestion--changes-for=server1 --show-reverse --force > Comparacion.\'\'<Database>\'\'.DB.\'\'yyyymmdd.hhmm.txt\'\'\n</pre>','utf-8'),(1292,'[[Category:SQLCode]]\n*\'\'\'site\'\'\': cloudoffice.com.ar\n*\'\'\'autor\'\'\': SAS\n<pre>\nmysqldiff --server1=sas_admin:cocolino@sas-desktop.local --server2=sas_admin:cocolino@sas-dskcontg.local \\\n--difftype=sql fzggestion:fzggestion--changes-for=server1 --show-reverse --force > Comparacion.<Database>.DB.yyyymmdd.hhmm.txt\n</pre>','utf-8'),(1293,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n====Elimina de [[VISTA:preciosvigentes]]====\ndrop view `fzggestion`.`preciosvigentes`;\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]]\n***[[PROC:CopiaModuloModulo]]\n***[[PROC:CrearNuevaListaPrecios]]\n***[[PROC:explota]]\n***[[TABLA:bitacoracrm]]\n****[[TRIG:Alta_BitacoraCRM]]\n***[[TABLA:bocetoscab]]\n****[[TRIG:Baja_Boceto]]\n***[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n***[[TABLA:compdvh]]\n***[[TABLA:listavsdim]]\n***[[TABLA:magnitudes]]\n***[[TABLA:moduloscab]]\n***[[TABLA:modulosdet]]\n***[[TABLA:modulossbs]]\n***[[TABLA:navtipolog]]\n***[[TABLA:proddvh]]\n***[[TABLA:wscontrolm]]\n***[[TRIG:Alta_BitacoraCRM]]\n***[[VISTA:productosdisp]]\n***[[VISTA:vischeckmod]]\n\n====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====','utf-8'),(1294,'[[Category:PROC]]\n== Descripción ==\nCopia Módulo Boceto\n== Biblioteca ==\n\n== Composición ==\n== Código ==\n< small>< pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `CopiaModuloBoceto`(IN pModuloID CHAR(8),IN pBocetoID CHAR(8), IN pBocetoDSC VARCHAR(50))\nBEGIN\n    -- ------------------------------------------------------\n    -- Insert from moduloscab into bocetoscab\n    -- ------------------------------------------------------\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"PROC:CopiaModuloBoceto\",\"/VAR/\",\n--         pModuloID,\"-\",\n--         pBocetoID,\"-\",\n--         pBocetoDSC\n--         ));\n    DELETE FROM bocetoscab WHERE BocetoID=pBocetoID;\n    DELETE FROM bocetosdet WHERE BocetoID=pBocetoID;\n    INSERT INTO bocetoscab (\n        `BocetoID`,\n        `ModuloID`,\n        `BocetoDSC`,\n        `BocetoVW`,\n        `BocetoVH`,\n        `BocetoIMG`,\n        `BocetoATH`,\n        `BocetoFec`)\n    SELECT\n        pBocetoID,\n        pModuloID,\n        pBocetoDSC,\n        `moduloscab`.`ModuloVW`,\n        `moduloscab`.`ModuloVH`,\n        `moduloscab`.`ModuloIMG`,\n        `moduloscab`.`ModuloATH`,\n        CURDATE()\n    FROM\n        `fzggestion`.`moduloscab`\n    WHERE \n        `moduloscab`.`ModuloID` = pModuloID;\n    -- ------------------------------------------------------\n    -- Insert from modulosdet into bocetosdet\n    -- ------------------------------------------------------\n    INSERT INTO `fzggestion`.`bocetosdet` (\n        `BocetoID`,\n        `ProductoID`,\n        `ComposicID`,\n        `CantidadPR`,\n        `AnchoPredef`,\n        `AltoPredef`,\n        `DimensionChg`,\n        `CantidadChg`,\n        `ProductoChg`,\n        `SubSetAncho`,\n        `SubSetAlto`,\n        `ProductoVsb`,\n        `PosX`,\n        `PosY`)\n    SELECT\n        pBocetoID,\n        `modulosdet`.`ProductoID`,\n        `modulosdet`.`ComposicID`,\n        `modulosdet`.`CantidadPR`,\n        `modulosdet`.`AnchoPredef`,\n        `modulosdet`.`AltoPredef`,\n        `modulosdet`.`DimensionChg`,\n        `modulosdet`.`CantidadChg`,\n        `modulosdet`.`ProductoChg`,\n        `modulosdet`.`SubSetAncho`,\n        `modulosdet`.`SubSetAlto`,\n        `modulosdet`.`ProductoVsb`,\n        `modulosdet`.`PosX`,\n        `modulosdet`.`PosY`\n    FROM\n        `fzggestion`.`modulosdet`\n    WHERE\n        `modulosdet`.`ModuloID` = pModuloID;\nEND\n< /pre>< /small>\n== Bitácora ==\n== Uso ==','utf-8'),(1295,'[[Category:PROC]]\n== Descripción ==\nCopia Módulo Boceto\n== Biblioteca ==\n\n== Composición ==\n== Código ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `CopiaModuloBoceto`(IN pModuloID CHAR(8),IN pBocetoID CHAR(8), IN pBocetoDSC VARCHAR(50))\nBEGIN\n    -- ------------------------------------------------------\n    -- Insert from moduloscab into bocetoscab\n    -- ------------------------------------------------------\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"PROC:CopiaModuloBoceto\",\"/VAR/\",\n--         pModuloID,\"-\",\n--         pBocetoID,\"-\",\n--         pBocetoDSC\n--         ));\n    DELETE FROM bocetoscab WHERE BocetoID=pBocetoID;\n    DELETE FROM bocetosdet WHERE BocetoID=pBocetoID;\n    INSERT INTO bocetoscab (\n        `BocetoID`,\n        `ModuloID`,\n        `BocetoDSC`,\n        `BocetoVW`,\n        `BocetoVH`,\n        `BocetoIMG`,\n        `BocetoATH`,\n        `BocetoFec`)\n    SELECT\n        pBocetoID,\n        pModuloID,\n        pBocetoDSC,\n        `moduloscab`.`ModuloVW`,\n        `moduloscab`.`ModuloVH`,\n        `moduloscab`.`ModuloIMG`,\n        `moduloscab`.`ModuloATH`,\n        CURDATE()\n    FROM\n        `fzggestion`.`moduloscab`\n    WHERE \n        `moduloscab`.`ModuloID` = pModuloID;\n    -- ------------------------------------------------------\n    -- Insert from modulosdet into bocetosdet\n    -- ------------------------------------------------------\n    INSERT INTO `fzggestion`.`bocetosdet` (\n        `BocetoID`,\n        `ProductoID`,\n        `ComposicID`,\n        `CantidadPR`,\n        `AnchoPredef`,\n        `AltoPredef`,\n        `DimensionChg`,\n        `CantidadChg`,\n        `ProductoChg`,\n        `SubSetAncho`,\n        `SubSetAlto`,\n        `ProductoVsb`,\n        `PosX`,\n        `PosY`)\n    SELECT\n        pBocetoID,\n        `modulosdet`.`ProductoID`,\n        `modulosdet`.`ComposicID`,\n        `modulosdet`.`CantidadPR`,\n        `modulosdet`.`AnchoPredef`,\n        `modulosdet`.`AltoPredef`,\n        `modulosdet`.`DimensionChg`,\n        `modulosdet`.`CantidadChg`,\n        `modulosdet`.`ProductoChg`,\n        `modulosdet`.`SubSetAncho`,\n        `modulosdet`.`SubSetAlto`,\n        `modulosdet`.`ProductoVsb`,\n        `modulosdet`.`PosX`,\n        `modulosdet`.`PosY`\n    FROM\n        `fzggestion`.`modulosdet`\n    WHERE\n        `modulosdet`.`ModuloID` = pModuloID;\nEND\n</pre></small>\n\n== Bitácora ==\n== Uso ==','utf-8'),(1296,'[[Category:PROC]]\n== Descripción ==\nCopia de Módulo en proceso de generación de Módulos\n== Biblioteca ==\n\n== Composición ==\n[[TABLA:moduloscab]]\n[[TABLA:modulosdet]]\n== Código ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `CopiaModuloModulo`(IN pModuloOld CHAR(8),IN pModuloNew CHAR(8), IN pModuloDSC VARCHAR(50))\nBEGIN\n    -- ------------------------------------------------------\n    -- Insert from moduloscab into bocetoscab\n    -- ------------------------------------------------------\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:CopiaModuloBoceto\",\"/VAR/\",\n        pModuloOld,\"-\",\n        pModuloNew,\"-\",\n        pModuloDSC\n        ));\n    DELETE FROM moduloscab WHERE ModuloID=pModuloNew;\n    DELETE FROM modulosdet WHERE ModuloID=pModuloNew;\n    INSERT INTO moduloscab (\n        `ModuloID`,\n        `ModuloDSC`,\n        `ModuloVW`,\n        `ModuloVH`,\n        `ModuloIMG`,\n        `ModuloATH`,\n        `ModuloFec`)\n    SELECT\n        pModuloNew,\n        pModuloDSC,\n        `moduloscab`.`ModuloVW`,\n        `moduloscab`.`ModuloVH`,\n        `moduloscab`.`ModuloIMG`,\n        `moduloscab`.`ModuloATH`,\n        CURDATE()\n    FROM\n        `fzggestion`.`moduloscab`\n    WHERE \n        `moduloscab`.`ModuloID` = pModuloOld;\n    -- ------------------------------------------------------\n    -- Insert from modulosdet into bocetosdet\n    -- ------------------------------------------------------\n    INSERT INTO modulosdet (\n        `ModuloID`,\n        `ProductoID`,\n        `ComposicID`,\n        `CantidadPR`,\n        `AnchoPredef`,\n        `AltoPredef`,\n        `DimensionChg`,\n        `CantidadChg`,\n        `ProductoChg`,\n        `SubSetAncho`,\n        `SubSetAlto`,\n        `ProductoVsb`,\n        `PosX`,\n        `PosY`)\n    SELECT\n        pModuloNew,\n        `modulosdet`.`ProductoID`,\n        `modulosdet`.`ComposicID`,\n        `modulosdet`.`CantidadPR`,\n        `modulosdet`.`AnchoPredef`,\n        `modulosdet`.`AltoPredef`,\n        `modulosdet`.`DimensionChg`,\n        `modulosdet`.`CantidadChg`,\n        `modulosdet`.`ProductoChg`,\n        `modulosdet`.`SubSetAncho`,\n        `modulosdet`.`SubSetAlto`,\n        `modulosdet`.`ProductoVsb`,\n        `modulosdet`.`PosX`,\n        `modulosdet`.`PosY`\n    FROM\n        `fzggestion`.`modulosdet`\n    WHERE\n        `modulosdet`.`ModuloID` = pModuloOld;\nEND\n</pre></small>\n== Bitácora ==\n== Uso ==','utf-8'),(1297,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n====Elimina de [[VISTA:preciosvigentes]]====\ndrop view `fzggestion`.`preciosvigentes`;\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]]\n***[[PROC:CopiaModuloModulo]]\n***[[PROC:CrearNuevaListaPrecios]]. Descartado. Utilizada cuando existía la Lista de Precios Vigentes\n***[[PROC:explota]]. Descartado. Usado para la generación de un cursor para la base de datos.\n***[[TABLA:bitacoracrm]]\n****[[TRIG:Alta_BitacoraCRM]]\n***[[TABLA:bocetoscab]]\n****[[TRIG:Baja_Boceto]]\n***[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n***[[TABLA:compdvh]]\n***[[TABLA:listavsdim]]\n***[[TABLA:magnitudes]]\n***[[TABLA:moduloscab]]\n***[[TABLA:modulosdet]]\n***[[TABLA:modulossbs]]\n***[[TABLA:navtipolog]]\n***[[TABLA:proddvh]]\n***[[TABLA:wscontrolm]]\n***[[TRIG:Alta_BitacoraCRM]]\n***[[VISTA:productosdisp]]\n***[[VISTA:vischeckmod]]\n\n====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====','utf-8'),(1298,'== Notes ==\n\n=== Ideas ===\n*Button on [[FORM:Presupuesto]] to access [[FORM:Contactos]]. Full Form.\n*Button on [[FORM:Presupuesto]] to add/minus characteristics\n*Test data verification on Height/Wide attributes in every Product record on [[FORM:Presupuesto]] on Windows Installation.\n*Precio por rango (German)\n*Listas de Precios\n**Automatización.\n\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\n<LO o OO caller command> --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n\n=== Check listening Port OpenOffice Server ===\n<pre>\nnetstat -tul\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Genérico. Representa el Producto genérico asociado al código de ProductoID.\n*ProductoDflt\n*MagnitudIn. Magnitud de Ingreso. Puede diferir a la Magnitud\n*MagCmpX\n*MagCmpY\n*MagCmpZ\n*ProductoProy\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\n*[[:Category:SQLCode|SQL CodeSnippets]]\n\n=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n*[[http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES Desarrollo PyUNO]]\n*[[http://wiki.openoffice.org/wiki/PyUNO_bridge PyUNO bridge]]\n*[[http://wiki.openoffice.org/wiki/Extensions_development_python Extensions Development Python]]\n*[[http://es.diveintopython.net/toc.html Sumergirse en Pyton]]\n*[[http://cutter.rexx.com/~dkuhlman/python_101/python_101.html Python 101-Introduction to Python]]\n*[[http://beastie.cs.ua.edu/cs150/book/index.html The Art and Craft of Programming - Python Edition]]\n==== General Events ====\n{| class=\"wikitable\"\n|<center>\'\'\'Event Name\'\'\'</center>\n|<center>\'\'\'Event Type\'\'\'</center>\n|<center>\'\'\'Descripción Ejecución\'\'\'</center>\n\n|-\n|Prior To Reset\n|EventObject\n|Antes que el formulario sea reseteado. El formulario es reseteado cuando el cursos se mueve a la fila insertada\n\n|-\n|After Reset\n|EventObject\n|Luego que el formulario se resetea\n\n|-\n|When Loading\n|EventObject\n|Cuando el formulario es cargado la primera vez\n\n|-\n|Before Reloading\n|EventObject\n|Antes que el formulario es recargado -también cuando se presiona el boton de recarga desde la barra de navegación o programandolo\n\n|-\n|When Reloading\n|EventObject\n|Cuando un formulario es recargado\n\n|-\n|Before Unloading\n|EventObject\n|Antes que inicie el formulario\n\n|-\n|When Unloading\n|EventObject\n|Cuando el formulario se está descargando\n\n|-\n|Confirm Deletion\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es seleccionado para ser eliminado.\n\n|-\n|Before Record Action\n|com.sun.star.sdb.RowChangeEvent\n|Cuando un registro es ingresado, actualizado o eliminado\n\n|-\n|After Record Action\n|EventObject\n|Luego de una accion es ejecutada sobre un registro. Ni antes ni después se se va a ejecutar hasta que se salga del registro modificado o el boton de Grabar sea presionado.\n\n|-\n|Before Record Change\n|EventObject\n|Antes que el formulario despliegue otro registro.\n\n|-\n|After Record Change\n|\n|Después que el formulario despliegue otro registro.\n\n|}\n==== Basic IDE ====\n* Largo de archivo menor a 64K\n\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>\n== KeyTeam ==\n{| class=\"wikitable\"\n|<center>\'\'\'Code\'\'\'</center>\n|<center>\'\'\'Site\'\'\'</center>\n|<center>\'\'\'Eq\'\'\'</center>\n|<center>\'\'\'Ca\'\'\'</center>\n|-\n|152421968\n|HAS\n|HAS\n|pelotubies\n|-\n|850417886\n|FZG\n|FZG001\n|rumbo9999\n|-\n|219838925\n|FZG\n|FZG002\n|rumbo9999\n|-\n|707325105\n|FZG\n|FZG010\n|rumbo9999\n|-\n|323916886\n|FZG\n|Bottero\n|5804\n|-\n|161523437\n|MMV\n|ADMIN\n|-\n|\n|JSV\n|ADMIN\n|}','utf-8'),(1299,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n====Elimina de [[VISTA:preciosvigentes]]====\ndrop view `fzggestion`.`preciosvigentes`;\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]]\n***[[PROC:CopiaModuloModulo]]\n***[[PROC:CrearNuevaListaPrecios]]. Descartado. Utilizada cuando existía la Lista de Precios Vigentes\n***[[PROC:explota]]. Descartado. Usado para la generación de un cursor para la base de datos.\n***[[TABLA:bitacoracrm]]\n****[[TRIG:bitacoracrm.Alta_BitacoraCRM]]\n***[[TABLA:bocetoscab]]\n****[[TRIG:Baja_Boceto]]\n***[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n***[[TABLA:compdvh]]\n***[[TABLA:listavsdim]]\n***[[TABLA:magnitudes]]\n***[[TABLA:moduloscab]]\n***[[TABLA:modulosdet]]\n***[[TABLA:modulossbs]]\n***[[TABLA:navtipolog]]\n***[[TABLA:proddvh]]\n***[[TABLA:wscontrolm]]\n***[[TRIG:Alta_BitacoraCRM]]\n***[[VISTA:productosdisp]]\n***[[VISTA:vischeckmod]]\n\n====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====','utf-8'),(1300,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n====Elimina de [[VISTA:preciosvigentes]]====\ndrop view `fzggestion`.`preciosvigentes`;\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]]\n***[[PROC:CopiaModuloModulo]]\n***[[PROC:CrearNuevaListaPrecios]]. Descartado. Utilizada cuando existía la Lista de Precios Vigentes\n***[[PROC:explota]]. Descartado. Usado para la generación de un cursor para la base de datos.\n***[[TABLA:bitacoracrm]]\n****[[TRIG:bitacoracrm.Alta_BitacoraCRM]]\n***[[TABLA:bocetoscab]]\n****[[TRIG:bocetoscab.Baja_BocetosCab]]\n***[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n***[[TABLA:compdvh]]\n***[[TABLA:listavsdim]]\n***[[TABLA:magnitudes]]\n***[[TABLA:moduloscab]]\n***[[TABLA:modulosdet]]\n***[[TABLA:modulossbs]]\n***[[TABLA:navtipolog]]\n***[[TABLA:proddvh]]\n***[[TABLA:wscontrolm]]\n***[[TRIG:Alta_BitacoraCRM]]\n***[[VISTA:productosdisp]]\n***[[VISTA:vischeckmod]]\n\n====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====','utf-8'),(1301,'[[Category:TABLAS]]\n== Descripción ==\nInformación de sucesos sobre presupuestos / clientes\n\n=== Detalles ===\nBitacoraAT: Nombre / Alias del Contacto que generó la incidencia\nBitacoraCT: Contacto-Cliente\nBitacoraQT: Nº Presupuesto\n== Composición ==\nTabla Plana\n== SQL ==\n<pre>\nCREATE  TABLE `fzggestion`.`bitacoracrm` (\n  `BitacoraID` INT NOT NULL AUTO_INCREMENT ,\n  `BitacoraCT` VARCHAR(8) NULL ,\n  `BitacoraAT` VARCHAR(25) NULL ,\n  `BitacoraQT` INT NULL ,\n  `BitacoraFecha` DATE NULL ,\n  `BitacoraHora` TIME NULL ,\n  `BitacoraUsr` VARCHAR(25) NULL ,\n  `BitacoraTexto` VARCHAR(200) NULL ,\n  PRIMARY KEY (`BitacoraID`) )\nENGINE = MyISAM;\n</pre>\n== Triggers ==\n*Alta\n**[[TRIG:bitacoracrm.Alta_BitacoraCRM]]\n\n== Bitácora ==\n*20130815\n**Alta de Tabla\n\n== Uso ==\n== URL ==','utf-8'),(1302,'[[Category:TABLAS]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `navtipolog` (\n  `AtributoID` int(11) NOT NULL AUTO_INCREMENT,\n  `AtributoORD` int(11) DEFAULT NULL,\n  `AtributoCAT` varchar(20) DEFAULT NULL,\n  `AtributoDSC` varchar(40) DEFAULT NULL,\n  PRIMARY KEY (`AtributoID`)\n) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1303,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n====Elimina de [[VISTA:preciosvigentes]]====\ndrop view `fzggestion`.`preciosvigentes`;\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]]\n***[[PROC:CopiaModuloModulo]]\n***[[PROC:CrearNuevaListaPrecios]]. Descartado. Utilizada cuando existía la Lista de Precios Vigentes\n***[[PROC:explota]]. Descartado. Usado para la generación de un cursor para la base de datos.\n***[[TABLA:bitacoracrm]]\n****[[TRIG:bitacoracrm.Alta_BitacoraCRM]]\n***[[TABLA:bocetoscab]]\n****[[TRIG:bocetoscab.Baja_BocetosCab]]\n***[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n***[[TABLA:compdvh]]\n***[[TABLA:listavsdim]]\n***[[TABLA:magnitudes]]\n***[[TABLA:moduloscab]]\n***[[TABLA:modulosdet]]\n***[[TABLA:modulossbs]]\n***[[TABLA:navtipolog]]\n***[[TABLA:proddvh]]\n***[[TABLA:wscontrolm]]. Descartado. Utilizado para un eventual sistema de menúes\n***[[VISTA:productosdisp]]\n***[[VISTA:vischeckmod]]\n\n====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====','utf-8'),(1304,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n====Elimina de [[VISTA:preciosvigentes]]====\ndrop view `fzggestion`.`preciosvigentes`;\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]]\n***[[PROC:CopiaModuloModulo]]\n***[[PROC:CrearNuevaListaPrecios]]. Descartado. Utilizada cuando existía la Lista de Precios Vigentes\n***[[PROC:explota]]. Descartado. Usado para la generación de un cursor para la base de datos.\n***[[TABLA:bitacoracrm]]\n****[[TRIG:bitacoracrm.Alta_BitacoraCRM]]\n***[[TABLA:bocetoscab]]\n****[[TRIG:bocetoscab.Baja_BocetosCab]]\n***[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n***[[TABLA:compdvh]]. Descartado. Utilizado para el proceso de resolución de [[TKT.FZG.000007]]\n***[[TABLA:listavsdim]]\n***[[TABLA:magnitudes]]\n***[[TABLA:moduloscab]]\n***[[TABLA:modulosdet]]\n***[[TABLA:modulossbs]]\n***[[TABLA:navtipolog]]\n***[[TABLA:proddvh]]. Descartado. Utilizado para el proceso de resolución de [[TKT.FZG.000007]]\n***[[TABLA:wscontrolm]]. Descartado. Utilizado para un eventual sistema de menúes\n***[[VISTA:productosdisp]]\n***[[VISTA:vischeckmod]]\n\n====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====','utf-8'),(1305,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \nCHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NOT NULL  ,\nCHANGE COLUMN `VidQuoteACom` `VidQuoteACom` CHAR(4) NOT NULL  ;\n</pre>\n===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\n*Alta de [[TABLA:bocetoscab]]\n*Alta de [[TABLA:bocetosdet]]\n*Alta de [[TABLA:bocetossbs]]\n====Baja de Tablas y Vistas sin uso====\n<pre>\ndrop table `fzggestion`.`logprecios`;\ndrop table `fzggestion`.`precios_old`;\ndrop table `fzggestion`.`predefcab`;\ndrop table `fzggestion`.`predefdet`;\ndrop view `fzggestion`.`preciosvigact`;\n</pre>\n====Actualización de [[TABLA:productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST ,\nADD COLUMN `ProductoDflt` INT(1) NULL  AFTER `ProductoGen` ,\nADD COLUMN `MagnitudIN` CHAR(2) NULL  AFTER `Magnitud` , \nADD COLUMN `MagCmpX` INT(5) NULL  AFTER `InsumoIMG` , \nADD COLUMN `MagCmpY` INT(5) NULL  AFTER `MagCmpX` , \nADD COLUMN `MagCmpZ` INT(5) NULL  AFTER `MagCmpY` , \nADD COLUMN `MagCmpW` INT(5) NULL  AFTER `MagCmpZ` \nADD COLUMN `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpW` ,\nADD COLUMN `ProductoProy` INT(1) NULL DEFAULT 0  AFTER `Presentacion`,\nADD COLUMN `ProductoTAG` VARCHAR(45) NULL  AFTER `ProductoProy` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\n====Actualización de [[TABLA:productos]]====\nALTER TABLE `fzggestion`.`productos` ADD COLUMN `CompoEdita` INT(1) NULL DEFAULT 1  AFTER `CoefP00P03` ;\nALTER TABLE `fzggestion`.`productos` CHANGE COLUMN `CompoEdita` `CompoEdita` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P02` , ADD COLUMN `ProductoOr` INT(1) NULL DEFAULT NULL  AFTER `CoefP00P03` ;\n====Actualización de [[TABLA:composicion]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL  AFTER `CoefVanoAlto` ;\n====Elimina de [[VISTA:preciosvigentes]]====\ndrop view `fzggestion`.`preciosvigentes`;\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]]\n***[[PROC:CopiaModuloModulo]]\n***[[PROC:CrearNuevaListaPrecios]]. Descartado. Utilizada cuando existía la Lista de Precios Vigentes\n***[[PROC:explota]]. Descartado. Usado para la generación de un cursor para la base de datos.\n***[[TABLA:bitacoracrm]]\n****[[TRIG:bitacoracrm.Alta_BitacoraCRM]]\n***[[TABLA:bocetoscab]]\n****[[TRIG:bocetoscab.Baja_BocetosCab]]\n***[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n***[[TABLA:compdvh]]. Descartado. Utilizado para el proceso de resolución de [[TKT:FZG.000007]]\n***[[TABLA:listavsdim]]\n***[[TABLA:magnitudes]]\n***[[TABLA:moduloscab]]\n***[[TABLA:modulosdet]]\n***[[TABLA:modulossbs]]\n***[[TABLA:navtipolog]]\n***[[TABLA:proddvh]]. Descartado. Utilizado para el proceso de resolución de [[TKT:FZG.000007]]\n***[[TABLA:wscontrolm]]. Descartado. Utilizado para un eventual sistema de menúes\n***[[VISTA:productosdisp]]\n***[[VISTA:vischeckmod]]\n\n====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====','utf-8'),(1306,'== Deployment ==\n*[[Clientes]]\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*[[SpanexDraw|Spanex:Draw]]\n*[[Spanex:Estructuras]]\n*[[Spanex:Releases]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n=== Instalacion .odb ===\n*Copiar el documento .odb\n*Cambiar el usuario de la base de datos\n*Cambiar la constante [[oCheckEstadoLicencia]] a True\n*Grabar documento .odb\n*Cambiar a nivel de Sistema Operativo a ReadOnly\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1307,'== Deployment ==\n*[[Clientes]]\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*<span style=\"color:#0645AD\">Spanex</span>\n**[[Spanex:Draw]]\n**[[Spanex:Estructuras]]\n**[[Spanex:Releases]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n=== Instalacion .odb ===\n*Copiar el documento .odb\n*Cambiar el usuario de la base de datos\n*Cambiar la constante [[oCheckEstadoLicencia]] a True\n*Grabar documento .odb\n*Cambiar a nivel de Sistema Operativo a ReadOnly\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1308,'== Deployment ==\n*[[Clientes]]\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*<span style=\"color:#0645AD\">Spanex</span>\n**[[Spanex:Draw]]\n**[[Spanex:Estructuras]]\n**[[Spanex:Releases]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: PreciosABT]]\n=== Instalacion .odb ===\n*Copiar el documento .odb\n*Cambiar el usuario de la base de datos\n*Cambiar la constante [[oCheckEstadoLicencia]] a True\n*Grabar documento .odb\n*Cambiar a nivel de Sistema Operativo a ReadOnly\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1309,'== Deployment ==\n*[[Clientes]]\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*<span style=\"color:#0645AD\">Spanex</span>\n**[[Spanex:Instalar]]\n**[[Spanex:Draw]]\n**[[Spanex:Estructuras]]\n**[[Spanex:Releases]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: PreciosABT]]\n=== Instalacion .odb ===\n*Copiar el documento .odb\n*Cambiar el usuario de la base de datos\n*Cambiar la constante [[oCheckEstadoLicencia]] a True\n*Grabar documento .odb\n*Cambiar a nivel de Sistema Operativo a ReadOnly\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1310,'*Copiar el documento .odb\n*Cambiar el usuario de la base de datos\n*Cambiar la constante [[oCheckEstadoLicencia]] a True\n*Grabar documento .odb\n*Cambiar a nivel de Sistema Operativo a ReadOnly','utf-8'),(1311,'== Deployment ==\n*[[Clientes]]\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*<span style=\"color:#0645AD\">Spanex</span>\n**[[Spanex:Instalar]]\n**[[Spanex:Draw]]\n**[[Spanex:Estructuras]]\n**[[Spanex:Releases]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: PreciosABT]]\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1312,'== Deployment ==\n*[[Clientes]]\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*<span style=\"color:#0645AD\">Spanex</span>\n**[[Spanex:Instalar]]\n**[[Spanex:Draw]]\n**[[Spanex:Estructuras]]\n**[[Spanex:Releases]]\n**[[Spanex:WikiUserSpanex|Spanex:Documentación de Usuario]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: PreciosABT]]\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1313,'== Deployment ==\n*[[Clientes]]\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*<span style=\"color:#0645AD\">Spanex</span>\n**[[Spanex:Instalar]]\n**[[Spanex:Draw]]\n**[[Spanex:Estructuras]]\n**[[Spanex:Releases]]\n**[[Spanex:UserWiki|Spanex:Documentación de Usuario]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: PreciosABT]]\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1314,'== Deployment ==\n*[[Clientes]]\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*<span style=\"color:#0645AD\">Spanex</span>\n**[[Spanex:Instalar]]\n**[[Spanex:Draw]]\n**[[Spanex:Estructuras]]\n**[[Spanex:Releases]]\n**[[Spanex:UserWiki|Spanex:Documentación de Usuario]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: PreciosABT]]\n=== Soporte-Bitacora ===\n*[[Knowing Problems / Solutions]]\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1315,'== Deployment ==\n*[[Clientes]]\n*[[Developing]]\n*[[Pendientes|Requirements]]\n*<span style=\"color:#0645AD\">Spanex</span>\n**[[Spanex:Instalar|Instalar]]\n**[[Spanex:Draw|Draw]]\n**[[Spanex:Estructuras|Estructuras]]\n**[[Spanex:Releases|Releases]]\n**[[Spanex:UserWiki|Documentación de Usuario]]\n**[[Spanex:PreciosABT|PreciosABT]]\n**[[Spanex:Relaciones|Relaciones]]\n**<span style=\"color:#0645AD\">Soporte</span>\n***[[Knowing Problems / Solutions]]\n***[[:Category:TKT|SpanexSupport -> Pendientes]]\n***[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1316,'[[Category:TABLAS]]\n== Descripción ==\nProductos Activos\n== Estructura ==\n*ProductoGen: Código de Producto Genérico correspondiente a ProductoID\n*ProductoDflt: Producto Default respecto a la selección de producto genérico\n*MagnitudIN: Magnitud de Ingreso. Puede diferir de la magnitud de venta.\n*MagCmpX: Ancho/largo del producto al ingreso\n*MagCmpY: Alto del producto al ingreso\n*MagCmpZ: Profundidad del producto al ingreso\n*MagCmpW: Peso del producto al ingreso.\n*CompoEdita: Producto con posibilidad de modificación de componentes\n**0/Null = Ok\n**1 = Producto modificable en eventos de gestión del producto y no en eventos de gestión de presupuestos\n**2 = Producto sin posibilidad de modificación\n*ProductoOr: Origen de la generación del registro del producto.\n**0/Null = Inválido para procesos integrados\n**1 = Por formulario\n**2 = Por proceso de alta desde Boceto\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `productos` (\n  `ProductoGen` char(8) DEFAULT NULL,\n  `ProductoDflt` int(1) DEFAULT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `CategoriaID` char(4) NOT NULL,\n  `Descripcion` char(80) NOT NULL,\n  `ProveedorID` char(4) NOT NULL,\n  `Reposicion` int(3) DEFAULT NULL,\n  `Magnitud` char(4) NOT NULL,\n  `MagnitudIN` char(2) DEFAULT NULL,\n  `CoefP00P01` decimal(6,4) DEFAULT NULL,\n  `CoefP00P02` decimal(6,4) DEFAULT NULL,\n  `CoefP00P03` decimal(6,4) DEFAULT NULL,\n  `ProductoPID` varchar(15) DEFAULT NULL,\n  `InsumoIMG` mediumblob,\n  `MagCmpX` int(5) DEFAULT NULL,\n  `MagCmpY` int(5) DEFAULT NULL,\n  `MagCmpZ` int(5) DEFAULT NULL,\n  `MagCmpW` int(5) DEFAULT NULL,\n  `Presentacion` varchar(45) DEFAULT NULL,\n  `ProductoProy` int(1) DEFAULT \'0\',\n  PRIMARY KEY (`ProductoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Triggers ==\n*Insert:[[TRIG:productos.Alta_Producto]]\n*Delete:[[TRIG:productos.Baja_Producto]]\n\n== Bitácora ==\n*20130423\n*:Agregado de atributo ProductoTAG\n\n== Uso ==\n== URL ==','utf-8'),(1317,'[[Category:TABLAS]]\nActualización: {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}} \n== Descripción ==\nProductos Activos\n== Estructura ==\n*ProductoGen: Código de Producto Genérico correspondiente a ProductoID\n*ProductoDflt: Producto Default respecto a la selección de producto genérico\n*MagnitudIN: Magnitud de Ingreso. Puede diferir de la magnitud de venta.\n*MagCmpX: Ancho/largo del producto al ingreso\n*MagCmpY: Alto del producto al ingreso\n*MagCmpZ: Profundidad del producto al ingreso\n*MagCmpW: Peso del producto al ingreso.\n*CompoEdita: Producto con posibilidad de modificación de componentes\n**0/Null = Ok\n**1 = Producto modificable en eventos de gestión del producto y no en eventos de gestión de presupuestos\n**2 = Producto sin posibilidad de modificación\n*ProductoOr: Origen de la generación del registro del producto.\n**0/Null = Inválido para procesos integrados\n**1 = Por formulario\n**2 = Por proceso de alta desde Boceto\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `productos` (\n  `ProductoGen` char(8) DEFAULT NULL,\n  `ProductoDflt` int(1) DEFAULT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `CategoriaID` char(4) NOT NULL,\n  `Descripcion` char(80) NOT NULL,\n  `ProveedorID` char(4) NOT NULL,\n  `Reposicion` int(3) DEFAULT NULL,\n  `Magnitud` char(4) NOT NULL,\n  `MagnitudIN` char(2) DEFAULT NULL,\n  `CoefP00P01` decimal(6,4) DEFAULT NULL,\n  `CoefP00P02` decimal(6,4) DEFAULT NULL,\n  `CoefP00P03` decimal(6,4) DEFAULT NULL,\n  `ProductoPID` varchar(15) DEFAULT NULL,\n  `InsumoIMG` mediumblob,\n  `MagCmpX` int(5) DEFAULT NULL,\n  `MagCmpY` int(5) DEFAULT NULL,\n  `MagCmpZ` int(5) DEFAULT NULL,\n  `MagCmpW` int(5) DEFAULT NULL,\n  `Presentacion` varchar(45) DEFAULT NULL,\n  `ProductoProy` int(1) DEFAULT \'0\',\n  PRIMARY KEY (`ProductoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Triggers ==\n*Insert:[[TRIG:productos.Alta_Producto]]\n*Delete:[[TRIG:productos.Baja_Producto]]\n\n== Bitácora ==\n*20130423\n*:Agregado de atributo ProductoTAG\n\n== Uso ==\n== URL ==','utf-8'),(1318,'[[Category:TABLAS]]\nActualización: {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}} \n== Descripción ==\nProductos Activos\n== Estructura ==\n*ProductoGen: Código de Producto Genérico correspondiente a ProductoID\n*ProductoDflt: Producto Default respecto a la selección de producto genérico\n*MagnitudIN: Magnitud de Ingreso. Puede diferir de la magnitud de venta.\n*MagCmpX: Ancho/largo del producto al ingreso\n*MagCmpY: Alto del producto al ingreso\n*MagCmpZ: Profundidad del producto al ingreso\n*MagCmpW: Peso del producto al ingreso.\n*CompoEdita: Producto con posibilidad de modificación de componentes\n**0/Null = Ok\n**1 = Producto modificable en eventos de gestión del producto y no en eventos de gestión de presupuestos\n**2 = Producto sin posibilidad de modificación\n*ProductoOr: Origen de la generación del registro del producto.\n**0/Null = Inválido para procesos integrados\n**1 = Por formulario\n**2 = Por proceso de alta desde Boceto\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `productos` (\n  `ProductoGen` char(8) DEFAULT NULL,\n  `ProductoDflt` int(1) DEFAULT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `CategoriaID` char(4) NOT NULL,\n  `Descripcion` char(80) NOT NULL,\n  `ProveedorID` char(4) NOT NULL,\n  `Reposicion` int(3) DEFAULT NULL,\n  `Magnitud` char(4) NOT NULL,\n  `MagnitudIN` char(2) DEFAULT NULL,\n  `CoefP00P01` decimal(6,4) DEFAULT NULL,\n  `CoefP00P02` decimal(6,4) DEFAULT NULL,\n  `CompoEdita` int(1) DEFAULT NULL,\n  `CoefP00P03` decimal(6,4) DEFAULT NULL,\n  `ProductoOr` int(1) DEFAULT NULL,\n  `ProductoPID` varchar(15) DEFAULT NULL,\n  `InsumoIMG` mediumblob,\n  `MagCmpX` int(5) DEFAULT NULL,\n  `MagCmpY` int(5) DEFAULT NULL,\n  `MagCmpZ` int(5) DEFAULT NULL,\n  `MagCmpW` int(5) DEFAULT NULL,\n  `Presentacion` varchar(45) DEFAULT NULL,\n  `ProductoProy` int(1) DEFAULT \'0\',\n  `ProductoTAG` varchar(45) DEFAULT NULL,\n  PRIMARY KEY (`ProductoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n$$\n</pre>\n\n== Triggers ==\n*Insert:[[TRIG:productos.Alta_Producto]]\n*Delete:[[TRIG:productos.Baja_Producto]]\n\n== Bitácora ==\n*20130423\n*:Agregado de atributo ProductoTAG\n\n== Uso ==\n== URL ==','utf-8'),(1319,'[[Category:TABLAS]]\nActualización: {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}} \n== Descripción ==\nProductos Activos\n== Estructura ==\n*ProductoGen: Código de Producto Genérico correspondiente a ProductoID\n*ProductoDflt: Producto Default respecto a la selección de producto genérico\n*MagnitudIN: Magnitud de Ingreso. Puede diferir de la magnitud de venta.\n*MagCmpX: Ancho/largo del producto al ingreso\n*MagCmpY: Alto del producto al ingreso\n*MagCmpZ: Profundidad del producto al ingreso\n*MagCmpW: Peso del producto al ingreso.\n*CompoEdita: Producto con posibilidad de modificación de componentes\n**0/Null = Ok\n**1 = Producto modificable en eventos de gestión del producto y no en eventos de gestión de presupuestos\n**2 = Producto sin posibilidad de modificación\n*ProductoOr: Origen de la generación del registro del producto.\n**0/Null = Inválido para procesos integrados\n**1 = Por formulario\n**2 = Por proceso de alta desde Boceto\n*ProductoTAG: Espacio generado para ingresar una cadena de caracteres representativos de TAGs que se asocien a ese producto.\n\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `productos` (\n  `ProductoGen` char(8) DEFAULT NULL,\n  `ProductoDflt` int(1) DEFAULT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `CategoriaID` char(4) NOT NULL,\n  `Descripcion` char(80) NOT NULL,\n  `ProveedorID` char(4) NOT NULL,\n  `Reposicion` int(3) DEFAULT NULL,\n  `Magnitud` char(4) NOT NULL,\n  `MagnitudIN` char(2) DEFAULT NULL,\n  `CoefP00P01` decimal(6,4) DEFAULT NULL,\n  `CoefP00P02` decimal(6,4) DEFAULT NULL,\n  `CompoEdita` int(1) DEFAULT NULL,\n  `CoefP00P03` decimal(6,4) DEFAULT NULL,\n  `ProductoOr` int(1) DEFAULT NULL,\n  `ProductoPID` varchar(15) DEFAULT NULL,\n  `InsumoIMG` mediumblob,\n  `MagCmpX` int(5) DEFAULT NULL,\n  `MagCmpY` int(5) DEFAULT NULL,\n  `MagCmpZ` int(5) DEFAULT NULL,\n  `MagCmpW` int(5) DEFAULT NULL,\n  `Presentacion` varchar(45) DEFAULT NULL,\n  `ProductoProy` int(1) DEFAULT \'0\',\n  `ProductoTAG` varchar(45) DEFAULT NULL,\n  PRIMARY KEY (`ProductoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n$$\n</pre>\n\n== Triggers ==\n*Insert:[[TRIG:productos.Alta_Producto]]\n*Delete:[[TRIG:productos.Baja_Producto]]\n\n== Bitácora ==\n*20130423\n*:Agregado de atributo ProductoTAG\n\n== Uso ==\n== URL ==','utf-8'),(1320,'[[Category:TABLAS]]\n\'\'\'Actualización\'\'\': {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}} \n== Descripción ==\nProductos Activos\n== Estructura ==\n*ProductoGen: Código de Producto Genérico correspondiente a ProductoID\n*ProductoDflt: Producto Default respecto a la selección de producto genérico\n*MagnitudIN: Magnitud de Ingreso. Puede diferir de la magnitud de venta.\n*MagCmpX: Ancho/largo del producto al ingreso\n*MagCmpY: Alto del producto al ingreso\n*MagCmpZ: Profundidad del producto al ingreso\n*MagCmpW: Peso del producto al ingreso.\n*CompoEdita: Producto con posibilidad de modificación de componentes\n**0/Null = Ok\n**1 = Producto modificable en eventos de gestión del producto y no en eventos de gestión de presupuestos\n**2 = Producto sin posibilidad de modificación\n*ProductoOr: Origen de la generación del registro del producto.\n**0/Null = Inválido para procesos integrados\n**1 = Por formulario\n**2 = Por proceso de alta desde Boceto\n*ProductoTAG: Espacio generado para ingresar una cadena de caracteres representativos de TAGs que se asocien a ese producto.\n*CompoEdita: Semáforo que permite editar o no los componentes asociados al producto.\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `productos` (\n  `ProductoGen` char(8) DEFAULT NULL,\n  `ProductoDflt` int(1) DEFAULT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `CategoriaID` char(4) NOT NULL,\n  `Descripcion` char(80) NOT NULL,\n  `ProveedorID` char(4) NOT NULL,\n  `Reposicion` int(3) DEFAULT NULL,\n  `Magnitud` char(4) NOT NULL,\n  `MagnitudIN` char(2) DEFAULT NULL,\n  `CoefP00P01` decimal(6,4) DEFAULT NULL,\n  `CoefP00P02` decimal(6,4) DEFAULT NULL,\n  `CompoEdita` int(1) DEFAULT NULL,\n  `CoefP00P03` decimal(6,4) DEFAULT NULL,\n  `ProductoOr` int(1) DEFAULT NULL,\n  `ProductoPID` varchar(15) DEFAULT NULL,\n  `InsumoIMG` mediumblob,\n  `MagCmpX` int(5) DEFAULT NULL,\n  `MagCmpY` int(5) DEFAULT NULL,\n  `MagCmpZ` int(5) DEFAULT NULL,\n  `MagCmpW` int(5) DEFAULT NULL,\n  `Presentacion` varchar(45) DEFAULT NULL,\n  `ProductoProy` int(1) DEFAULT \'0\',\n  `ProductoTAG` varchar(45) DEFAULT NULL,\n  PRIMARY KEY (`ProductoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n$$\n</pre>\n\n== Triggers ==\n*Insert:[[TRIG:productos.Alta_Producto]]\n*Delete:[[TRIG:productos.Baja_Producto]]\n== Bitácora ==\n*20130423\n*:Agregado de atributo ProductoTAG\n*:Agregado de atributo CompoEdita\n== Uso ==\n== URL ==','utf-8'),